HBase Shell启动缓慢及操作耗时长的原因分析与解决

1.现象

在内网搭了一个 hbase-2.2.6(hadoop-2.7.3)的环境,使用的是其内置的 zookeeper-3.4.10,16010端口对应的 web界面可以正常访问,且各项功能正常。

在使用 hbase shell的过程中,首先是 hbase shell启动非常慢,约 210s才成功,其次执行 scan、put、get等命令需要 20s左右才能完成。以笔者的经验,hbase肯定出问题了,不可能这么慢。

2.分析

hbase可能执行某个操作失败了一直在重试,达到重试次数才会返回。

思路一:——不好使

​ 重启 hbase,期望它自己恢复

思路二:——没有发现问题相关的日志

​ 认真查看 hbase master的日志,并将其日志级别调为 DEBUG(修改 conf目录下 log4j的配置文件,然后重启 hbase即可)

思路三:——硬件资源足够

​ 有没有可能是机器硬件性能不足导致的,使用 free -h和 top命令分别查看了机器的内存消耗和 CPU使用情况,一切正常。

最终

​ 还是得从 hbase shell着手,通过 hbase shell -h查看帮助得知其支持调试模式,具体命令如下:

hbase shell -d

​ 这次 hbase shell启动时输出了较多跟 zk相关的信息,可以看到在 210s里不断有 zk相关的日志打印出来,这里就比较明显了,出问题的很可能不是 hbase而是 zk。联想到 zk节点之间需要通过主机名进行通讯,马上测试了下:

ping host185

​ 发现 ping不通,至此,大概率是因为主机名导致的了。

3.解决

虽然分析问题的过程较为艰难,但是解决方法却很简单:

vim /etc/hosts

# 添加主机名和 ip的映射即可
192.168.xx.xx host185

重新测试 hbase shell,秒开,scan、put、get等命令均可迅速完成。

这里需要注意的是:如果有多台机器,那么需要修改每台机器的 hosts文件。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值