1.集群规划2.安装Zookeeper3.配置相关信息3.1 配置zook.cfg文件3.2 配置服务器编号3.3 配置Zookeeper环境变量4 集群启动4.1 分别启动4.2 zookeeper集群启脚本4.3 脚本启动集群5 连接Zookeeper集群启动、关闭
1.集群规划
一主两从(这里没有配置观察者)
主机名 | 服务器IP | 角色 | 端口号 |
redis01 | 192.168.92.145 | leader | 2181 |
redis02 | 192.168.92.146 | follower | 2181 |
redis03 | 192.168.92.147 | follower | 2181 |
2.安装Zookeeper
# 三台机器分别解压文件 root@redis01:/usr/local# tar -zxvf apache-zookeeper-3.7.0-bin.tar.gz # 重命名 mv apache-zookeeper-3.7.0-bin zookeeper
3.配置相关信息
3.1 配置zook.cfg文件
# 复制示例文件配置 root@redis01:/usr/local# cp zookeeper/conf/zoo_sample.cfg zookeeper/conf/zoo.cfg # 编辑 root@redis01:/usr/local# vim zookeeper/conf/zoo.cfg
- 配置zoo.cfg文件
# 修改数据存储路径配置 dataDir=/usr/local/zookeeper/zkData # 在最后添加加以下配置: server.1=192.168.92.145:2888:3888 server.2=192.168.92.146:2888:3888 server.3=192.168.92.147:2888:3888
3.2 配置服务器编号
# 创建zkData目录 root@redis01:/usr/local# mkdir zookeeper/zkData # 创建并编辑一个myid的文件 root@redis01:/usr/local# vim zookeeper/zkData/myid
- 在myid文件中添加与server对应的编号,分别在redis02、redis03上修改myid文件中内容为2、3
1
3.3 配置Zookeeper环境变量
- 配置环境变量
sudo vim /etc/profile.d/my_env.sh
- 添加如下配置:
# ZOOKEEPER_HOME export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin
- 使环境变量生效
source /etc/profile.d/my_env.sh
4 集群启动
4.1 分别启动
# 启动集群,三台都需要启动 root@redis01:/usr/local# zookeeper/bin/zkServer.sh start # 查看集群状态 root@redis01:/usr/local# zookeeper/bin/zkServer.sh status # 停止集群状态 root@redis01:/usr/local# zookeeper/bin/zkServer.sh stop
4.2 zookeeper集群启脚本
# 进入用户家目录 cd /home/bigdata/ # 新建一个bin目录 mkdir bin # 编写脚本 vim zk1.sh
- zk1.sh脚本
#!/bin/bash case $1 in "start"){ for i in redis01 redis02 redis03 do echo ------------ zookeeper $i 启动 ---------- ssh $i "/usr/local/zookeeper/bin/zkServer.sh start" done };; "stop"){ for i in redis01 redis02 redis03 do echo ------------ zookeeper $i 停止 ---------- ssh $i "/usr/local/zookeeper/bin/zkServer.sh stop" done };; "status"){ for i in redis01 redis02 redis03 do echo ------------ zookeeper $i 信息 ---------- ssh $i "/usr/local/zookeeper/bin/zkServer.sh status" done };; esac
- 赋予权限
#赋予可执行权限 chmod +x zk1.sh
4.3 脚本启动集群
# 启动集群,分别输入密码即可(可以考虑设置免密登录),注意启动目录 root@redis01:/home/bigdata/bin# ./zk1.sh start # 查看集群 root@redis01:/home/bigdata/bin# ./zk1.sh status # 停止集群 root@redis01:/home/bigdata/bin# ./zk1.sh stop # 任意位置启动 /home/bigdata/bin/zk1.sh start /home/bigdata/bin/zk1.sh status /home/bigdata/bin/zk1.sh stop
- 启动集群
- 查看集群状态
5 连接Zookeeper集群
- 也可以就连一台,建议连接多台,使用
,
隔开,防止某一个挂了连接不上。
# 在安装/usr/local/zookeeper/bin目录下启动 ./zkCli.sh -server 192.168.92.145:2181,192.168.92.146:2181,192.168.92.147:2181
启动、关闭
# 任意位置启动 /home/bigdata/bin/zk1.sh start /home/bigdata/bin/zk1.sh status /home/bigdata/bin/zk1.sh stop