ZooKeeper 3.9.2 集群安装指南
ZooKeeper 3.9.2 集群安装指南
- 准备工作
- 1.系统要求
- 2.下载ZooKeeper
- 集群配置
- 集群服务器列表
- 启动集群在所有节点上启动ZooKeeper
- 验证集群
- 可选配置
- 常见问题解决
准备工作
1.系统要求
- 至少3台服务器(推荐奇数台,如3、5、7)
- Java 8或更高版本(运行java -version检查)
- 服务器之间网络互通
2.下载ZooKeeper
wget https://downloads.apache.org/zookeeper/zookeeper-3.9.2/apache-zookeeper-3.9.2-bin.tar.gz
tar -xzf apache-zookeeper-3.9.2-bin.tar.gz
mv apache-zookeeper-3.9.2-bin /usr/local/zookeeper
集群配置
1.创建数据目录(在所有节点上执行)
mkdir -p /data/zookeeper
配置zoo.cfg(主配置文件)
编辑/usr/local/zookeeper/conf/zoo.cfg,内容如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper
clientPort=2181
admin.serverPort=8080
集群服务器列表
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
说明:
node1, node2, node3 替换为实际IP或主机名
2888端口用于节点间通信,3888用于选举
创建myid文件(在每个节点上)
在每个节点的/data/zookeeper目录下创建myid文件,内容为对应的服务器ID:
节点1: echo 1 > /data/zookeeper/myid
节点2: echo 2 > /data/zookeeper/myid
节点3: echo 3 > /data/zookeeper/myid
启动集群在所有节点上启动ZooKeeper
/usr/local/zookeeper/bin/zkServer.sh start
检查状态
/usr/local/zookeeper/bin/zkServer.sh status
应该能看到一个leader和两个follower
验证集群
连接客户端
/usr/local/zookeeper/bin/zkCli.sh -server localhost:2181
创建测试节点
create /test "hello"
get /test
在其他节点验证数据同步
get /test
可选配置
日志配置
编辑/usr/local/zookeeper/conf/log4j.properties调整日志级别和输出
JVM调优
编辑/usr/local/zookeeper/bin/zkEnv.sh调整JVM参数:
export JVMFLAGS="-Xms2048m -Xmx2048m -XX:MaxPermSize=512m"
防火墙配置
确保开放以下端口:
firewall-cmd --permanent --add-port=2181/tcp
firewall-cmd --permanent --add-port=2888/tcp
firewall-cmd --permanent --add-port=3888/tcp
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
常见问题解决
1.无法选举Leader
-
检查所有节点的myid文件是否正确
-
检查防火墙设置
-
检查网络连通性
2.数据不同步
-
检查dataDir权限
-
检查磁盘空间
3.连接问题
-
检查客户端是否连接到正确的服务器
-
检查ZooKeeper服务是否正常运行
完成以上步骤后,您应该已经成功部署了一个ZooKeeper 3.9.2集群。
如需沟通:lita2lz