05-安装Zookeeper

5、安装 Zookeeper

5.1 分布式安装部署

5.1.1 集群规划

5.1.2 上传 jar

上传 jar 包,此处采用版本 apache-zookeeper-3.5.7-bin.tar.gz

5.1.3 解压

tar zxvf apache-zookeeper-3.5.7-bin.tar.gz  -C  /opt/module/
# 重命名
mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7
# 同步 zookeeper-3.5.7 到 bigdata102, bigdata103 机器
xsync zookeeper-3.5.7/

5.1.4 配置服务器编号

  • 在/opt/module/zookeeper-3.5.7/这个目录下创建zkData
mkdir zkData
  • 在/opt/module/zookeeper-3.5.7/zkData目录下创建一个myid的文件

vim myid

在文件中添加与 server 对应的编号(bigdata101配置 1)

写入 1

  • 分发 myid
xsync myid

并分别在 bigdata102、bigdata103 上修改 myid 文件中内容为2、3

5.1.5 配置 zoo.cfg 文件

重命名 /opt/module/zookeeper-3.5.7/conf 这个目录下的 zoo_sample.cfg 为 zoo.cfg

mv zoo_sample.cfg zoo.cfg

vim zoo.cfg

  • 修改数据存储路径配置

dataDir=/opt/module/zookeeper-3.5.7/zkData

  • 增加如下配置:
####################### cluster ##########################
server.1=bigdata101:2888:3888
server.2=bigdata102:2888:3888
server.3=bigdata103:2888:3888

  • 同步zoo.cfg配置文件
xsync zoo.cfg
  • 配置参数解读

A是一个数字,表示这个是第几号服务器;

集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。

B是这个服务器的地址;

C是这个服务器Follower与集群中的Leader服务器交换信息的端口;

D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

5.2 编写 Zookeeper 集群启动停止脚本

cd /home/bigdata/bin/

vim zk.sh

在脚本中编写如下内容:

#!/bin/bash

<<EOF
    该脚本是 zookeeper 集群的启动停止脚本
EOF

case $1 in
"start") {
    for i in bigdata101 bigdata102 bigdata103; do
        echo -e "\033[32m ---------- zookeeper $i 启动 ------------ \033[0m"
        ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
    done
} ;;
"stop") {
    for i in bigdata101 bigdata102 bigdata103; do
        echo -e "\033[31m ---------- zookeeper $i 停止 ------------ \033[0m"
        ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
    done
} ;;
"status") {
    for i in bigdata101 bigdata102 bigdata103; do
        echo -e "\033[35m ---------- zookeeper $i 状态 ------------ \033[0m"
        ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
    done
} ;;
esac
  • 增加脚本执行权限
chmod u+x zk.sh

5.3 启动停止 Zookeeper 集群

  • 启动
zk.sh start

  • 停止
zk.sh stop

Zookeeper 是分布式注册中间件,所以涉及到分布式的集群环境肯定是需要 zookeeper 的。

posted @ 2022-05-15 22:38  LoremMoon  阅读(19)  评论(0编辑  收藏  举报