hbase完全分布式模式[zookeeper执行hbase shell时出错]

x33g5p2x  于 2021-07-13  发布在  Hadoop
关注(0)|答案(1)|浏览(295)

遵循这两个教程:即教程1和教程2,我能够在完全分布式模式下设置hbase集群。起初,集群似乎工作正常。
hmaster/name节点中的“jps”输出

datanodes/regionserver中的jps输出

不过,每次我尝试执行hbase shell时,hbase处理器似乎都会由于某些zookeeper错误而中断。错误粘贴如下:

2021-03-13 11:52:26,047 ERROR [main] zookeeper.RecoverableZooKeeper: ZooKeeper exists failed a│1951 HRegionServer
fter 4 attempts                                                                               │hduser@master-vm:~$ 
2021-03-13 11:52:26,048 WARN  [main] zookeeper.ZKUtil: hconnection-0x4375b0130x0, quorum=137.4│
3.49.59:2181,137.43.49.58:2181,137.43.49.50:2181,137.43.49.49:2181, baseZNode=/hbase Unable to│
 set watcher on znode (/hbase/hbaseid)                                                        │
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss│
 for /hbase/hbaseid                                                                           │
        at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)               │
        at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)               │
        at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1045)                         │
        at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.│
java:221)                                                                                     │
        at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:417)              │
        at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:6│

我尝试了多次尝试来解决这个问题(包括尝试使用不同的hbase/hadoop兼容版本)。但仍然没有进展。
我想听听你的意见。
以下是所需的其他信息:
/etc/hosts 文件:

(我已经试过在/etc/hosts/中评论与hbase相关的主机,但仍然不起作用)
在hbase-site.xml中

hiz5n14c

hiz5n14c1#

经过5天的忙碌,我知道哪里出了问题。在这里发布我的解决方案。希望它也能对其他一些开发者有所帮助。也要感谢@vv\u fs的评论。
在我的场景中,我使用了我从一个外部方挖出的虚拟机。因此,有一定的防火墙和其他安全措施。如果您遵循类似的实验设置,这些步骤可能会对您有所帮助。
要设置hbase集群,请遵循以下教程。
在分布式模式下设置hadoop。
在完全分布式模式下设置hbase时的注意事项:
确保打开邮件中提到的所有端口。例如,使用 sudo ufw allow 9000 to open port 9000 . 按照命令打开与运行hadoop相关的所有端口。
在分布式模式下设置zookeeper。
在完全分布式模式下设置zookeeper时的注意事项:
确保打开邮件中提到的所有端口。例如,使用 sudo ufw allow 3888 to open port 3888 . 按照命令打开与运行zookeeper相关的所有端口。
安装后不要启动zookeeper节点。zookeeper将由hbase内部管理。因此,不要在这个阶段启动zookeeper。
在分布式模式下设置hbase。
设置的值时 hbase-site.xml ,使用端口号 60000 为了 hbase.master 标签,不是 60010 . (感谢@vv\u fs在前面的讨论中指出这一点)。
确保打开邮件中提到的所有端口。例如,使用 sudo ufw allow 60000 to open port 60000 . 按照命令打开与运行zookeeper相关的所有端口。
[重要提示]:如果遇到错误,请参阅hbase日志。就我而言, hbase-mater-xx.log 以及 zookeeper-master--.log 帮我找到了准确的错误。

相关问题