CentOS7 Zookeeper 安装
集群部署
192.168.38.6 zk01
192.168.38.7 zk02
192.168.38.8 zk03
安装zookeeper,必须安装jdk。
1.下载
1 2 | $ cd /usr/local $ wget http: //111 .0.93.35 /mirror .bit.edu.cn /apache/zookeeper/zookeeper-3 .4.14 /zookeeper-3 .4.14. tar .gz |
2.解压并重命名
1 2 | $ tar -zxvf zookeeper-3.4.14. tar .gz $ mv /usr/local/zookeeper-3 .4.14 /usr/local/zookeeper |
3.文件配置
(1)在每个节点都创建data目录和logs目录
1 2 | $ mkdir /home/zookeeper/data $ mkdir /home/zookeeper/logs |
(2)在每个节点的 data目录下创建 myid文件,并输入内容 1/2/3 ;节点zk01的内容为1,节点zk02的内容为2,节点zk03的内容为3
myid(节点zk01)
#这里只有一个数字1 1
myid(节点zk02)
#这里只有一个数字2 2
myid(节点zk03)
#这里只有一个数字3 3
(3)复制zoo_sample.cfg,并编辑zoo.cfg文件
1 2 | $ cp /usr/local/zookeeper/conf/zoo_sample .cfg /usr/local/zookeeper/conf/zoo .cfg $ vim /usr/local/conf/zoo .cfg |
zoo.cfg(节点zk01)
dataDir=/home/zookeeper/data dataLogDir=/home/zookeeper/logs clientPort=2181 server.1=192.168.38.6:2881:3881 server.2=192.168.38.7:2881:3881 server.3=192.168.38.8:2881:3881
zoo.cfg(节点zk02)
dataDir=/home/zookeeper/data dataLogDir=/home/zookeeper/logs clientPort=2182 server.1=192.168.38.6:2881:3881 server.2=192.168.38.7:2881:3881 server.3=192.168.38.8:2881:3881
zoo.cfg(节点zk03)
dataDir=/home/zookeeper/data dataLogDir=/home/zookeeper/logs clientPort=2183 server.1=192.168.38.6:2881:3881 server.2=192.168.38.7:2881:3881 server.3=192.168.38.8:2881:3881
说明:
- 上面的myid 1 2 3 分别对应 配置文件server.1 server.2 server.3,并且不能有空格或空行;
- serverid的范围为1~255,且不可以重复;也就是说zookeeper集群中最多可安装255个节点;
- 2881为“选主端口”,3881为“通信端口”;
- zookeeper 集群中节点并不是越多越好,越多性能越低。生产环境中最佳集群节点个数为 7~15 个
4.关闭防火墙
1 | $ systemctl stop firewalld |
5.启动zookeeper
在每一个节点上执行如下命令:
1 | $ /usr/local/zookeeper/bin/zkServer .sh start |
6.查看zookeeper状态
1 2 3 4 | $ /usr/local/zookeeper/bin/zkServer .sh status ZooKeeper JMX enabled by default Using config: /usr/local/zookeeper/bin/ .. /conf/zoo .cfg Mode: follower |
leader:主
follower:从
常见错误:
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
可能有以下几个原因:
第一,zoo.cfg文件配置出错:dataLogDir指定的目录未被创建;
第二,myid文件中的整数格式不对,或者与zoo.cfg中的server整数不对应
第三,防火墙未关闭;
第四,2181端口被占用;
第五,zoo.cfg文件中主机名出错;
第六,hosts文件中,本机的主机名有两个对应,只需保留主机名和ip地址的映射
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用