您好,我在阿里云买了三台机ecs,但是搭建zookeeper总是报错,后来搭建伪分布式时把server的ip写成localhost就可以搭建成功,如果写成外网ip地址,启动就报错,下面是localhost的配置
server.1=localhost:40001:50001
server.2=localhost:40002:50002
server.3=localhost:40003:50003,这样提供就可以成功,
server.1=node3:40001:50001
server.2=node3:40002:50002
server.3=node3:40003:50003
这样就会报错,错误信心如下
2016-12-16 09:14:02,659 [myid:3] - ERROR [node3/120.77.171.8:50003:QuorumCnxManager$Listener@517] - Exception while liste
ning
java.net.BindException: Cannot assign requested address
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.ServerSocket.bind(ServerSocket.java:376)
at java.net.ServerSocket.bind(ServerSocket.java:330)
at org.apache.zookeeper.server.quorum.QuorumCnxManager$Listener.run(QuorumCnxManager.java:507)
2016-12-16 09:14:02,672 [myid:3] - INFO  [QuorumPeer[myid=3]/0.0.0.0:60003:QuorumPeer@714] - LOOKING
2016-12-16 09:14:02,675 [myid:3] - INFO  [QuorumPeer[myid=3]/0.0.0.0:60003:FastLeaderElection@815] - New election. My id 
=  3, proposed zxid=0x100000097
2016-12-16 09:14:02,678 [myid:3] - WARN  [WorkerSender[myid=3]:QuorumCnxManager@382] - Cannot open channel to 1 at electi
on address node3/120.77.171.8:50001
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:368)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:341)
at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:4
49)
at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:430)
at java.lang.Thread.run(Thread.java:745)
2016-12-16 09:14:02,681 [myid:3] - WARN  [WorkerSender[myid=3]:QuorumCnxManager@382] - Cannot open channel to 2 at electi
on address node3/120.77.171.8:50002
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:368)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.toSend(QuorumCnxManager.java:341)
 at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.process(FastLeaderElection.java:4
49)at org.apache.zookeeper.server.quorum.FastLeaderElection$Messenger$WorkerSender.run(FastLeaderElection.java:430)
at java.lang.Thread.run(Thread.java:745)
弄了好久没找到问题,如果您有时间,希望您帮我看看,,谢谢