hbase 集群管理



 

 

 

1  查看节点状态链接:

    查看hmaster节点: http://hadoop3:60010/     hadoop3是我集群主节点名称

    查看hregion节点: http://hadoop3:60030/  下图可以进入看到存储节点各个属性数据

 
hbase 集群管理_第1张图片
 

2  hbase查看 zk状态, 集群状态:

 

查看zookeeper状态:hbase>zk_dump  eg:
hbase(main):002:0> status "summary"
1 servers, 0 dead, 6.0000 average load

hbase(main):003:0> status "simple"
1 live servers
    hadoop3:60020 1457256379217
        requestsPerSecond=0.0, numberOfOnlineRegions=6, usedHeapMB=18, maxHeapMB=991, numberOfStores=9, numberOfStorefiles=9, storefileUncompressedSizeMB=0, storefileSizeMB=0, memstoreSizeMB=0, storefileIndexSizeMB=0, readRequestsCount=63, writeRequestsCount=5, rootIndexSizeKB=1, totalStaticIndexSizeKB=0, totalStaticBloomSizeKB=0, totalCompactingKVs=0, currentCompactedKVs=0, compactionProgressPct=NaN, coprocessors=[]
0 dead servers
Aggregate load: 0, regions: 6
 .........



 

 

查看集群状态:

查看集群状态:
hbase>status "summary" 
.......
library for your platform... using builtin-java classes where applicable
1 servers, 0 dead, 6.0000 average load



hbase>status "simple"  简要
hbase>status "detailed"  详细

 

 

检查不一致性
#hbase hbck -details    linux命令行下执行,暂时不知道这个命令的用法

 

 

3 使用hbase shell管理集群

 

 

a) flush 了解:  并未实践过

将区域的数据写入磁盘
flush ' waln_log' 将内存数据写到storefile
flush ' waln_log,1429239562047.14d5384d50968c26ec54d7d6e3ac10fc. '

备注:如果发现regionserver的内存使用过大,造成该机的 regionserver很多线程block,可以执行一下flush操作,这个操作会造成hbase的storefile数量剧增,应尽量避免这个操 作,还有一种情况,在hbase进行迁移的时候,如果选择拷贝文件方式,可以先停写入,然后flush所有表,拷贝文件。

 

 

b) 查看hlog:

   hbase hlog 在hdfs的位置:

   进入hdfs默认路径: /hbase/WALs/下自然会看到hbase的servername,再点进去就可以看到hlog,如下图:


hbase 集群管理_第2张图片

 


hbase 集群管理_第3张图片
  

linux下执行命令,有可能因为hlog里面么有数据而看不到。

#hbase hlog /hbase/WALs/hadoop3,60020,1457256379217-splitting/hadoop3%2C60020%2C1457256379217.1457259990549 

  

 

查看hfile:

 

 a) hbase表所在hdfs目录位置如下:


hbase 集群管理_第4张图片
 

 b) hbase 表列族个数多少对应多少个hfile文件个数:

 


hbase 集群管理_第5张图片
 
c) 查看hfile文件格式命令:

[root@hadoop3 ~]# hbase hfile -s -f /hbase/data/default/wlan/59a55e8840713dbaf8497f3a495d5596/cf/75a8b7ff0c68400088a80dd4c1e19b71

    查看 hfile里面的内容 ,里面是二进制因此查看结果是乱码:

hdfs dfs -cat /hbase/data/default/wlan/59a55e8840713dbaf8497f3a495d5596/cf/75a8b7ff0c68400088a80dd4c1e19b71

 
 

 

 4 hbase合并:

合并 ---> http://book.51cto.com/art/201312/420269.htm

 

1) 关闭自动合并:
hbase-site.xml
<property>
  <name>hbase.hregion.majorcompaction</name>
  <value>0</value>
</property>

2)调整区域合并:分割过多的区域也会影响性能
<property>
  <name>hbase.hregion.max.filesize</name>
  <value>10734182400</value>    这里设置的是100G,不知道的情况下使用默认值,或者根据业务和你集群的大小设置
</property>

 

执行合并做法: 还没实践

区域合并
compact ' waln_log'
指定表主合并
major_compact  'waln_log',1429239562047.14d5384d50968c26ec54d7d6e3ac10fc.
注意:选择一个晚上用户少的时间窗口手工major_compact,如果hbase更新不是太频繁,可以一个星期对所有表做一次 major_compact,这个可以在做完一次major_compact后,观看所有的storefile数量,如果storefile数量增加到 major_compact后的storefile的近二倍时,可以对所有表做一次major_compact,时间比较长,操作尽量避免高锋期

 

 

5 hbase负载均衡:

 

启用负载均衡
balance_switch true
查看集群负载均衡
balancer
备注:region在regionserver上的分布不均,这个时候需要手工的开启balance

 

 

 


 

 

 

 

你可能感兴趣的:(hbase 集群管理)