【Hbase】运维问题汇总

1.前言

最近Hbase集群经常有问题于是作者把遇到的问题进行了汇总,避免其他同学在使用Hbase的过程中遇到相同的问题时不知道如何解决。

2.优化

2.1 Hbase启动半小时宕掉

Hbase集群底层使用Azure Blob Storage进行底层数据存储及查询,RegionServer在运行过程中经常出现OOM,Heap Dump分析发现每个HStore中的AbfsInputStrem占用4MB空间导致堆内存撑爆。查看hadoop-azure源码发现fs.azure.read.request.size默认配置4MB,调整配置64KB后问题解决也可以配置再小。image.png

2.2 Hbase大合并队列积压过多

【1】Hbase集群运行一周后(默认)触发大合并导致大合并队列增加属于正常现象,但是在运行一段时间后问题依然存在没有下降趋势。怀疑大合并线程默认1太少了,动态调整配置hbase.regionserver.thread.compaction.large为3效果不明显。image.png【2】查看日志发现合并限流策略引起合并时间过长,继续动态调整限流参数hbase.hstore.compaction.throughput.higher.bound、hbase.hstore.compaction.throughput.lower.bound后大合并队列在几小时后恢复正常。image.png

2.3 Hbase归档日志不正常清理

【1】统计Hbase集群占用的数据存储时发现数据存储达到400多T。image.png【2】查看HMaster日志发现出现清理异常,但是原因不够明确。image.png【3】动态调整日志级别继续查看日志发现问题出现在SnapshotHFileCleaner。image.png【4】结合源码及日志原因是.hbase-snapshot目录下出现非法目录T_DRIVING_STATISTICS_snap_…手动删除此目录后HMaster恢复正常删除。image.png

2.4 Hbase的oldWal日志不正常清理

【1】查看HMaster日志发现replicationLogCleaner在进行清理是出现访问zookeeper会话失效异常。image.png【2】动态调整日志级级别发现上述异常会引起oldWal日志不正常清理会导致HDFS存储使用上升风险。image.png【3】查看HBASE-25612通过切换HMaster临时解决,根本上避免可升级Hbase版本或者根据HBASE-23340进行编译打包滚动重启集群。image.png

3.配置

3.1 动态配置

需要修改的参数加入到hbase-site.xml中,然后在hbase shell中执行update_config指定regionserver名称,如整个集群都生效可使用update_all_config命令。image.png

3.2 日志配置

访问HMaster UI或RegionServer UI在Log Level进行配置。image.png

4.总结

在Hbase集群出现问题时我们可以结合日志、源码、社区分析原因并给出解决方法,而且日志输出级别、参数配置都支持动态修改可以更快的帮助我们解决问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值