我正在尝试在ec2的两个实例上设置zookeeper。如这里和这里所给。我正在尝试运行zookeeper,但失败并显示以下错误:命令:bin/zkCli.sh -server localhost:2181
> 2015-03-15 00:22:35,644 [myid:] - INFO [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@3ff0efca
Welcome to ZooKeeper!
2015-03-15 00:22:35,671 [myid:] - INFO [main-SendThread(localhost:2181):ClientCnxn$SendThread@975] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
JLine support is enabled
2015-03-15 00:22:35,677 [myid:] - WARN [main-SendThread(localhost:2181):ClientCnxn$SendThread@1102] - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739)
at …Run Code Online (Sandbox Code Playgroud) 我是zookeeper的新手,并且是EC2.我想在3个ec2实例上安装zookeeper.
根据zookeeper文档,我在所有3个实例上安装了zookeeper,创建了zoo.conf并添加了以下配置:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/data
clientPort=2181
server.1=localhost:2888:3888
server.2=<public ip of ec2 instance 2>:2889:3889
server.3=<public ip of ec2 instance 3>:2890:3890
Run Code Online (Sandbox Code Playgroud)
我也/opt/zookeeper/data/myid
按照指南在所有3个实例上创建了myid文件.
我有几个问题如下:
每当我在每个实例上启动zookeeper服务器时,它将以独立模式启动.(根据日志)
以上配置真的可以相互连接吗?港口2889:3889和2890:38900 - 这些港口的全部内容.我可以在ec2机器上配置它还是需要给它一些其他端口?
我是否需要创建安全组才能打开这些连接?我不知道如何在ec2实例中做到这一点.
如何确认所有3个zookeeper已经启动并且可以相互通信?