设置 regionserver 和 zookeeper quorum 的好习惯是什么?
我有一个带有 16 个节点的小型 hadoop 集群。按照http://hbase.apache.org/book/example_config.html中给出的示例,我选择 16 个节点作为 regionserver,并将这些节点的一个子集作为 zookeeper。
但是,当一个作业由不在与 hbase.zookeeper.quorum 对应的列表中的节点启动时,我收到以下错误:
13/08/23 15:40:05 INFO zookeeper.ClientCnxn:打开与服务器 localhost/0:0:0:0:0:0:0:1:2181 的套接字连接。不会尝试使用 SASL 进行身份验证(未知错误) 13/08/23 15:40:05 WARN zookeeper.ClientCnxn:服务器 null 的会话 0x0,意外错误,关闭套接字连接并尝试重新连接 java.net.ConnectException:连接被拒绝sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:592) at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350) at org. apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068) 13/08/23 15:40:05 信息 zookeeper.ClientCnxn:打开与服务器 localhost/127.0.0.1:2181 的套接字连接。
所以它尝试连接 600 秒然后返回
任务尝试_xxx 未能报告状态 60 秒。杀戮!
经过几次尝试后,它会更改节点,如果碰巧新节点属于 Zookeeper 列表,则作业会成功完成。
这是正常的吗?
我最终将所有节点添加到 zookeeper 列表中,但我想知道这是否是一个好习惯。另外,是否存在 regionserver 列表与节点列表不同的情况?
谢谢