前言 RegionServer维护Master分配给它的region,处理对这些region的IO请求,负责切分在运行过程中变得过大的region, 由于集群性能( 分配的内存和磁盘是有限的 )有限的,那么HBase单个RegionServer的region数目肯定是有上限的. Region数目上限 RegionServer的region数目取决于memstore的内存使用,每个region拥有一组memstore(memstore的数量有hstore决定,hstore的数据由创建表时的指定的列…
1.介绍HBase集群上region数目由于业务驱动而越来越多,由于服务器本身,网络以及hbase内部的一些不确定性bug等因素使得这些region可能面临着不可用或响应延时情况.通过对region的监控,也可以反映出hdfs集群的状况2.工具org.apache.hadoop.hbase.tool.Canary 监控Region的可用和读写状况Usage: bin/hbase org.apache.hadoop.hbase.tool.Canary [opts] [table 1 [table…
一. Hbase的region 我们先简单介绍下Hbase的架构和Hbase的region: 从物理集群的角度看,Hbase集群中,由一个Hmaster管理多个HRegionServer,其中每个HRegionServer都对应一台物理机器,一台HRegionServer服务器上又可以有多个Hregion(以下简称region).要读取一个数据的时候,首先要先找到存放这个数据的region.而Spark在读取Hbase的时候,读取的Rdd会根据Hbase的region数量划分stage.所以当r…
前言 文章不含源码,只是一些官方资料的整理和个人理解 架构总览 这张图在大街小巷里都能看到,感觉是hbase架构中最详细最清晰的一张,稍微再补充几点. 1) Hlog是低版本hbase术语,现在称为WALs. 2) 1个region包含了多个store,1个store包含了1个colum family,这样就比较好理解 3) 1个store包含了多个storefile,1个sotrefile就是1个hfile文件 这在HDFS路径也能体现,大概长这样 table/region/column fa…
问题概述 "新冠期间"远程办公,需要重新搭建一套ClouderaManager(CM)开发环境,一位测试同事发现HBase的RegionServer无法启动,在CM界面上启动总是失败,观察一下日志,也没有什么明显的报错.我就专门看了一下. 排查思路 因为有opentsdb在读写Hbase Region Server,我一开始怀疑RegionServer启动过程中在恢复一些数据,这个时候就有组件对它读写操作,可能压力较大起不来.后来停掉了opentsdb,依然如此,日志也没有明显报错,打…
转载:http://ju.outofmemory.cn/entry/50064 随着大数据表格应用的驱动,我们的HBase集群越来越大,然而由于机器.网络以及HBase内部的一些不确定性的bug,使得系统面临着一些不确定性的故障. 因此,HBase上有很多的Region组成,需要控制每个表格的Region的状态. 分析: 1)实时掌控Region的状态.应用的每次访问要直接与HBase某个Region关联,需要探测Table上Region是否处于可用状态. 2)Region的读写与底层的HDFS…
1.  在Hbase的运维过程中,我们经常需要做如下操作: 移动 regionserver 到其他的 regionserver group中 下线一台机器 增加一台机器 移动 table 到其他 regionserver group中. 2.  在进行上述操作的过程中,一个 regionserver 上的 regions,或者一个 table 的 regions 都会重新进行分配,这样的分配过程是 HBase 控制的,我们无法控制一个 region 会移动到哪一个 regionserver 上.…
HBase中有两张特殊的Table,-ROOT-和.META. .META.:记录了用户表的Region信息,它可以有多高region(这的意思是说.META.表可以分 裂成多个region,和用户表一样) -ROOT-:记录了.META.表的Region信息,-ROOT-只有一个region(也就是说它不可分割) Zookeeper中记录了-Root-表的location region大小: 更大的Region可以使你集群上的Region的总数量较少. 一般来言,更少的Region可以使你的集…
在生产环境中很有可能有那么几个Region比较大,但是都运行在同一个Regionserver中. 这个时候就需要手动将region移动到负载低的Regionserver中. 步骤: 1.找到要移动的region,记录红框的id值,这个是唯一的region ID 2.查看RegionServer列表,并记录ip.端口.startcode #明显读请求不均衡 3.我们需要将部分region移动到dn3这台RegionServer上. 例如: mine:t_match_odds,""&quo…
每个regionserver节点可以自由启动或停止,可以不随hbase整体一起. 停止后regionserver上的数据会被移到其他regionserver上,不影响hbase的使用.   停止regionserver /bin/hbase-daemon.sh stop regionserver RegionServer   启动regionserver /bin/hbase-daemon.sh start regionserver RegionServer   重启regionserver b…
错误日志: regionserver.HRegionServer: Failed deleting my ephemeral node zookeeper.RecoverableZooKeeper: ZooKeeper delete failed after 4 attempts 解决: apt-get install ntp 错误: zookeeper session超时问题 配置:hbase-site.xml <property> <name>zookeeper.session…
聚类是数据挖掘很重要的组成部分.而大多数聚类算法都需要事先确定分类数目K.而本文是在实际 情况下确定分类数目K的上限.进而对数据样本进行自动分类. 首先介绍下最大最小距离算法: 设样本集为X{x(1),x(2).......} 1.选取任意一个样本作为第一个聚类中心 如z(1)=x(1) 2.选取距离z(1)最远的样本点作为第二个聚类中心,设为z(2) 3.计算每个样本到z(1),z(2)的距离D(i,1),D(i,2);并选出其中最小的距离T(i)=min(D(i,1),D(i,2)) 4.在…
package com.liveyc.common.utils; import java.util.List; import org.apache.hadoop.hbase.util.Bytes; import com.liveyc.datarecover.utils.FileToHbase; public class NewTable { public static void main(String[] args) throws Exception { createTable("2017120…
公司最近在搞一个hbase删除数据,由于在建表的时候是通过region来对每日的数据进行存储的,所以要求在删除的时候直接通过删除region的来删除数据(最好的方案是只删除region中的数据,不把region删掉,但是百度了很久没找到只删除region中数据的解决方法,实在遗憾,最终也就通过删除region来删除数据了 这样的弊端是在hbase 中执行scan全表的时候 会报错,找不到某某region,只能通过rowkey来查询别的数据 真的很烦~~~ 以后有时间在来研究这个region吧)…
The HRegionServer opens the region and creates a corresponding HRegion object. When the HRegion is opened it sets up a Store instance for each HColumnFamily for every table as defined by the user beforehand. Each Store instance can, in turn, have one…
转自: https://blog.csdn.net/wuwenxiang91322/article/details/51595771 Hbase内存磁盘关系磁盘数 diskNum磁盘容量 diskCapacity备份数 replications单个HFile文件大小 hbase.hregion.max.filesizeregions数 regionsdiskNum*diskCapacity/replications =hbase.hregion.max.filesize *regions 注意R…
hbase.tmp.dir \({java.io.tmpdir}/hbase-\){user.name} 本地文件系统上的临时目录.将'/tmp'改为其他可以持久保存文件的位置,通常能够解决java.io.tmpdir.'/tmp'目录在机器重启后将会被清空. hbase.rootdir \({hbase.tmp.dir}/hbase</value> <description>该目录被region server共享并且用来保存HBase的持久化数据.这个URL应该完全按照文件系统模…
版本:0.94-cdh4.2.1 hbase-site.xml配置 hbase.tmp.dir 本地文件系统tmp目录,一般配置成local模式的设置一下,但是最好还是需要设置一下,因为很多文件都会默认设置成它下面的 线上配置 <property>      <name>hbase.tmp.dir</name>      <value>/mnt/dfs/11/hbase/hbase-tmp</value> </property> 默认…
hbase.tmp.dir:本地文件系统的临时目录,默认是java.io.tmpdir/hbase−java.io.tmpdir/hbase−{user.name}: hbase.rootdir:hbase持久化的目录,被所有regionserver共享,默认${hbase.tmp.dir}/hbase,一般设置为hdfs://namenode.example.org:9000/hbase类似,带全限定名: hbase.cluster.distributed:hbase集群模式运作与否的标志,默…
版本:0.94-cdh4.2.1 hbase-site.xml配置 hbase.tmp.dir 本地文件系统tmp目录,一般配置成local模式的设置一下,但是最好还是需要设置一下,因为很多文件都会默认设置成它下面的 线上配置 <property>      <name>hbase.tmp.dir</name>      <value>/mnt/dfs/11/hbase/hbase-tmp</value> </property> 默认…
版本:0.94-cdh4.2.1 hbase-site.xml配置 hbase.tmp.dir 本地文件系统tmp目录,一般配置成local模式的设置一下,但是最好还是需要设置一下,因为很多文件都会默认设置成它下面的 线上配置 <property>      <name>hbase.tmp.dir</name>      <value>/mnt/dfs/11/hbase/hbase-tmp</value> </property> 默认…
hbase.tmp.dir:本地文件系统的临时目录,默认是java.io.tmpdir/hbase−java.io.tmpdir/hbase−{user.name}: hbase.rootdir:hbase持久化的目录,被所有regionserver共享,默认${hbase.tmp.dir}/hbase,一般设置为hdfs://namenode.example.org:9000/hbase类似,带全限定名: hbase.cluster.distributed:hbase集群模式运作与否的标志,默…
一.前言 接触HBase已近半年,从一无所知到问题的解决,在数据落地方面也有了一定的了解,在此记录这半年来碰到的一些问题和对一些数据落地方面的见解,本篇主要介绍一下hbase安装方面的信息 二.安装环境 对于生产环境而言,一个hbase集群可能包含几百上千机器,集群必不可少的几个组件,如Zookeeper, Hbase, Hadoop等,其中Zookeeper一般是奇数台且独立部署,HBase方面主要包括Master结点和RegionServer结点,Hadoop方面包括NameNode和Dat…
转载:http://www.cnblogs.com/nexiyi/p/hbase_config_94.html 版本:0.94-cdh4.2.1 hbase-site.xml配置 hbase.tmp.dir 本地文件系统tmp目录,一般配置成local模式的设置一下,但是最好还是需要设置一下,因为很多文件都会默认设置成它下面的 线上配置 <property> <name>hbase.tmp.dir</name> <value>/mnt/dfs/11/hbas…
关键词:hbase rebalance 负载均衡 参考源码版本:apache-hbase-1.1.2 什么是HBase Rebalance ? 随着数据写入越来越多以及不均衡,即使一开始每个RegionServer的region数差不多,后期也会出现较为明显的差异现象.如果不做均衡,region过多的RS就有可能成为热点服务器,成为瓶颈.因此rebalance相当于一个负载调整的过程,把负载重的RS的部分region分发出去给别的RS去分担region压力. Rebalance 策略 Rebal…
HBase是一种支持自动负载均衡的分布式KV数据库,在开启balance的开关(balance_switch)后,HBase的HMaster进程会自动根据指定策略挑选出一些Region,并将这些Region分配给负载比较低的RegionServer上.官方目前支持两种挑选Region的策略,一种叫做DefaultLoadBalancer,另一种叫做StochasticLoadBalancer,这两种策略后面会具体讲到.由于HBase的所有数据(包括HLog/Meta/HStoreFile等)都是…
一.工具准备 zookeeper3.4.6 (hadoop.hbase 管理工具) Hadoop. Hbase1.1.4 Kylin1.5.0-HBase1.1.3 Jdk1.7.80 Hive 二.虚拟主机 192.168.200.165 master1 192.168.200.166 master2 192.168.200.167 slave1 192.168.200.168 slave2 三.安装mysql 查看是否安装了mysql(master1) [root@master1 ~]# p…
1.datanode的最大文件数 vi $HADOOP_HOME/conf/hdfs-site.xml <property> <name>dfs.datanode.max.xcievers</name> <value>8192</value> </property> 2.解决“打开文件过多”错误(修改的时候要视机器内存而定,ubuntu1210默认为1024,ulimit -n) vi /etc/security/limits.con…
在Linux下面部署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题,比如还有Squid做代理,当文件打开数到900多时速能就非常快的下降,有可能打不开网页. Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用其实很容易就达到这个数量. 查看方法 我们可以用ulimit -a来查看所有限制值 [root@centos5 ~]# ulimit -a core file size (blocks, -c)…
1         Hbase日常运维 1.1       监控Hbase运行状况 1.1.1        操作系统 1.1.1.1 IO 群集网络IO,磁盘IO,HDFS IO IO越大说明文件读写操作越多.当IO突然增加时,有可能:1.compact队列较大,集群正在进行大量压缩操作. 2.正在执行mapreduce作业 可以通过CDH前台查看整个集群综合的数据或进入指定机器的前台查看单台机器的数据: Io wait 磁盘IO对集群的影响比较大,如果io wait时间过长需检查系统或磁盘是…