我是zookeeper和aws 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
我在所有3个实例上创建了myid文件,路径为/opt/zookeeper/data/myid
,符合指南要求。
以下是我的一些疑问:
每次在每个实例上启动zookeeper服务器时,它都会以独立模式启动。(根据日志)
上述配置是否真的可以相互连接?端口2889:3889和2890:38900 - 这些端口是什么意思。我需要在EC2机器上进行配置,还是需要提供其他端口?
我需要创建安全组来打开这些连接吗?我不确定如何在EC2实例中执行此操作。
如何确认所有3个zookeeper已经启动并且它们可以相互通信?
3.4.0
开始,您可以使用autopurge.snapRetainCount
和autopurge.purgeInterval
指令来保持快照的清洁。 - czeraszserver.1
的配置文件,你可以在文件中为该特定条目放置0.0.0.0
吗?ZooKeeper配置文件被设计成可以在不进行编辑的情况下在多台机器之间复制,这就是为什么myid
文件是单独的。我们不能将所有服务器的IP都设置为0.0.0.0
,因为无法以这种方式引用远程服务器。因此,配置文件应该有真实的IP地址。 - kuujo