HBase Client成功与Zookeeper连接,但是无法与HBase Server连接
问题分析
HBase启动之后会将Master的信息存储在Zookeeper的/hbase/master中,然后HBase Client连接到Zookeeper后首先会从Zookeeper中获取Master的IP和端口信息,然后才和Master建立连接。但是/hbase/master存储的可能是一个别名(例如localhost或者其他),如果客户端拿到localhost或者其他没有记录在hosts的别名,那么客户端将会无法连接到HBase Server。
解决方法
(1)在部署HBase的服务器上,编辑hosts文件, vim /etc/hosts
将127.0.0.1 localhost等注释掉,然后加上 127.0.0.1 别名
(2)在本机客户端的hosts文件加上HBase服务器对应的hosts
(3)重新启动服务器并连接即可