1,配景,摆设大数据组件,由于手动摆设比力麻烦,以是自己创建脚本摆设,启动zookeeper报错
2,报错如下
- 2024-08-02 13:45:11,407 [myid:2] - WARN [QuorumPeer[myid=2](plain=/0:0:0:0:0:0:0:0:2181)(secure=disabled):QuorumCnxManager@679] - Cannot open
- channel to 1 at election address com85/10.1.1.85:3888
- java.net.ConnectException: Connection refused (Connection refused)
- at java.net.PlainSocketImpl.socketConnect(Native Method)
- at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
- at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
- at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
- at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
- at java.net.Socket.connect(Socket.java:589)
- at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:650)
- at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:707)
- at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:735)
- at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:910)
复制代码 3,检查config的配文件置没标题,检查最后发现是
server.1=com85:2888:3888
server.2=com86:2888:3888
server.3=com87:2888:3888
这个内里配置的和myid的不同,com85应该是要配置myid=1,效果配置了2,导致起不来
4,原因
在ZooKeeper集群的配置中,myid是每个ZooKeeper服务器节点用来标识自己身份的文件,通常位于ZooKeeper的数据目录下的myid文件中。这个文件包含一个整数,用于标识该服务器在ZooKeeper集群中的唯一标识。每个服务器节点都有一个唯一的myid,这是集群内部用于识别和通信的基础1。
而server.1、server.2等是在ZooKeeper的配置文件中界说的,用于指定集群中各个服务器的地址和端口。这些设置告诉ZooKeeper集群如何找到并与其他服务器通信。例如,server.1=hadoop3:2888:3888表示编号为1的服务器位于hadoop3主机上,该主机用于与其他服务器通信的端口为2888,而在推选过程中使用的端口为38881。
简而言之,myid是每个ZooKeeper服务器节点用来标识自己的内部标识符,而server.1等则是配置文件中界说的服务器标识和通信信息,两者固然服务于不同的目的,但在ZooKeeper集群的上下文中共同作用,确保集群的正确运行和服务器之间的通信
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |