Zookeeper集群安装

Zookeeper集群安装

去官网https://zookeeper.apache.org/releases.html 下载要安装的Zookeeper

这里以安装zookeeper-3.5.7为例。下载好安装包apache-zookeeper-3.5.7-bin.tar.gz。

分别在三台服务器上安装zookeeper

系统:CentOS7

1.解压安装包到指定安装路径下(你想安装在哪个路径就解压在哪个路径)

这里解压到/opt/module目录下

tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module	

解压完成后,在/opt/module路径下,会有个apache-zookeeper-3.5.7-bin的文件夹。

cd /opt/module
ls

可选操作--把文件夹改名

mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7

2.添加相关配置

进入zookeeper的根目录下,新建一个文件夹zkData

cd zookeeper-3.5.7
mkdir zkData

然后进入zkData文件夹下,创建一个myid的文件(PS:无后缀),然后在myid文件里添加与server对应的编号。第一个可以填1,也可以填其他数字,这个编号与待会配置文件中的server的编号一致就好。方便顺序,我这里填1

cd zkData
vim myid

然后回到zookeeper的根目录下,有个conf文件夹,进入conf文件夹,会发现有个zoo_sample.cfg文件,把这个文件改成zoo.cfg,然后编辑zoo.cfg

cd ..
cd conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg

修改dataDir的路径为刚才创建的zkData文件夹的路径.同时新增cluster的配置。如下图

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

server.1=hadoop101:2888:3888
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888

PS:这里的server.1的.1,1就是对应刚才myid里写的1。后面的server.2和server.3是对应待会要装的另外两个zookeeper。hadoop101,hadoop102,hadoop103分别对应三台服务器的域名,如果没设置有域名的话,可以填写ip地址。

修改完后。第一个zookeeper的配置就完成了。

随后可以通过分发脚本,把第一个zookeeper的整个目录分发到另外两台服务器。分发完后,在另外两台服务器上把myid里的值,各自分别改成2和3。与zoo.cfg配置文件设置的server.2和server.3一致

没分发脚本的,按照上面的操作在另外两台服务器再操作一遍。注意myid的值分别弄成2和3,与zoo.cfg配置文件设置的server.2和server.3一致。

3.启动

分别进入在zookeeper文件夹下的bin目录下,执行zookeeper自带的脚本zkServer.sh启动

./zkServer.sh start

启动成功后,可以通过jps命令查看java进程,会看到有QuorumPeerMain这个进程名,说明启动成功

也可以通过zkServer.sh查看状态

./zkServer.sh status

会看到打印信息,其中三个zookeeper的Mode信息,分别会显示leader,follower,follower。 及一个leader,两个follower。

当然,如果写有群起脚本的话,也可以使用群起脚本来启动

脚本参考

#!/bin/bash
if [ $# -lt 1 ]
then
    echo "No Args Input..."
    exit ;
fi

case $1 in
"start")
        for i in hadoop101 hadoop102 hadoop103
    do
        echo "=====================  $i  ======================="
        ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
    done
;;
"stop")
        for i in hadoop101 hadoop102 hadoop103
    do
        echo "=====================  $i  ======================="
        ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
    done
;;
"status")
        for i in hadoop101 hadoop102 hadoop103
    do
        echo "=====================  $i  ======================="
        ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
    done
;;
*)
    echo "Input Args Error..."
;;
esac
posted @ 2021-12-25 19:34  DarkH  阅读(651)  评论(0编辑  收藏  举报