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

您所在的位置:网站首页 hbase写入速度慢是因为啥 HBase Shell启动缓慢及操作耗时长的原因分析与解决

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

2024-01-01 00:11| 来源: 网络整理| 查看: 265

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文件。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3