安装环境
- 操作系统:CentOS Linux release 7.8.2003
- ZK版本:3.4.6
下载地址
http://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/
集群规划
服务器lnh01 | 服务器Lnh02 | 服务器lnh03 |
---|---|---|
zookeeper | zookeeper | zookeeper |
安装步骤
-
上传tar.gz包到服务器
-
解压至/opt/soft下
命令:tar -zxvf zookeeper-3.4.6.tar.gz -C /opt/soft/
-
目录结构如下:
-
创建actData目录
-
在/opt/soft/zookeeper-3.4.6/actData目录下创建myid文件(其中myid中的值不允许重复)
创建文件[root@localhost actData]# touch myid
在文件中添加与server对应的编号
在lnh02和lhn03机器上分别对应2、3。 -
配置zoo.cfg文件
重命名该文件/opt/soft/zookeeper-3.4.6/conf/zoo_sample.cfg为zoo.cfg
-
修改zoo.cfg文件
修改数据存储路径:dataDir=/opt/soft/apache-zookeeper-3.6.2/actData
增加如下配置:server.1=lnh01:2888:3888 server.2=lnh02:2888:3888 server.3=lnh03:2888:3888
如下图所示:
-
单台zk配置完成,将解压包分发到另外两台机器
scp -r zookeeper-3.4.6/ root@lnh02:/opt/soft/
scp -r zookeeper-3.4.6/ root@lnh03:/opt/soft/ -
修改对应的myid文件
lnh02配置如下:
lnh03配置如下:
-
启动
分别在三台机器上启动zookeeper
bin/zkServer.sh start
查看状态
./bin/zkServer.sh status
如果机器过多,一个一个的启动很麻烦,编写启动脚本如下:- 在用户目录下创建bin目录
- 编辑 ~/.bashrc,添加刚创建的bin目录到path变量
export PATH=$PATH:~/bin - 重新加载.bashrc
source ~/.bashrc - 在bin目录下新建脚本zk.sh,脚本内容如下:
#! /bin/bash case $1 in "start"){ for i in lnh01 lnh02 lnh03 do ssh $i "/opt/soft/zookeeper-3.4.6/bin/zkServer.sh start" done };; "restart"){ for i in lnh01 lnh02 lnh03 do ssh $i "/opt/soft/zookeeper-3.4.6/bin/zkServer.sh restart" done };; "stop"){ for i in lnh01 lnh02 lnh03 do ssh $i "/opt/soft/zookeeper-3.4.6/bin/zkServer.sh stop" done };; "status"){ for i in lnh01 lnh02 lnh03 do ssh $i "/opt/soft/zookeeper-3.4.6/bin/zkServer.sh status" done };; esac
- 添加执行权限
chmod +x zk.sh - 执行启动命令测试
zk.sh start
注:如果报Cannot open channel to x at election address错误,把/etc/profile里面的环境变量追加到~/.bashrc目录就可以了。
追加命令:cat /etc/profile >> ~/.bashrc
最后source ~/.bashrc
- 在用户目录下创建bin目录