Zookeeper14:集群搭建

Zookeeper14:集群搭建

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
notion image
notion image
notion image
 

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
  • 启动集群
notion image
  • 查看集群状态
notion image
 
 

5 连接Zookeeper集群

  • 也可以就连一台,建议连接多台,使用隔开,防止某一个挂了连接不上。
# 在安装/usr/local/zookeeper/bin目录下启动 ./zkCli.sh -server 192.168.92.145:2181,192.168.92.146:2181,192.168.92.147:2181
notion image

启动、关闭

# 任意位置启动 /home/bigdata/bin/zk1.sh start /home/bigdata/bin/zk1.sh status /home/bigdata/bin/zk1.sh stop