hbase经验总结与调优记录

参考链接:

一、安装

二、问题

2.1 单机部署的Hbase启动失败,hbase.log如下:

021-05-14 11:10:18,086 ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: Master not initialized after 200000ms
at org.apache.hadoop.hbase.util.JVMClusterUtil.waitForEvent(JVMClusterUtil.java:232)
at org.apache.hadoop.hbase.util.JVMClusterUtil.startup(JVMClusterUtil.java:200)
at org.apache.hadoop.hbase.LocalHBaseCluster.startup(LocalHBaseCluster.java:430)
at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:249)
at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:149)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76)
at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:149)
at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:3085)

经过百度调研可知,可使工具修复此类问题。

官方教程:https://hbase.apache.org/book.html#HBCK2

Step 1 克隆

github地址:

apache/hbase-operator-tools: Apache HBase Operator Tools (github.com)

Step2 打包生成hbase-operator-tools:

cd \hbase-hbck2\
mvn package -DskipTests

Step2 拷贝target下的hbase-hbck2-1.2.0-SNAPSHOT.jar

执行以下命令修复未知异常:

/opt/hbase-2.3.5/bin/hbase hbck -j /opt/hbase-data/hbase/yyp/hbase-hbck2-1.2.0-SNAPSHOT.jar recoverUnknown

Tips: recoverUnknown 去掉后,可以查看所有修复方法

Step 4 重启hbase,完成修复

问题2:hbase启动十几小时候,报错后,宕机

WARN [RS:0;iios-hbase:16020] util.Sleeper: We slept 14148ms instead of 3000ms, this is likely due to a long garbage collecting pause and it’s usually bad, see http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired,

修复参考链接见:http://hbase.apache.org/book.html#trouble.rs.runtime.zkexpired

修复方法:

不确定是否生效,带prod环境7*24h检验。

Step 1 hbase-site.xml增加:

 <property>
<name>zookeeper.session.timeout</name>
<value>120000</value>
</property>
<property>
<name>hbase.zookeeper.property.tickTime</name>
<value>6000</value>
</property>

Step 2 hbase-env.sh 增加:

export HBASE_HEAPSIZE=2G

Step 3 修改hbase docker-compose

最大内存翻倍,最小cpu分配为30%。


分享到:更多 ()