zookeeper集群的搭建

1:包下载

地址:https://zookeeper.apache.org/

 2:服务器准备并做一些前置工作

1:安装jdk的运行环境

linux环境下安装jdk

2:分发服务器脚本

然后是集群环境下,多台服务器,有些操作是一样的,所以为了方便,先弄个同步的脚本

由于我创建的linux是个简洁版,目前还没有xsync的命令,所以先安装一下它

yum -y install rsync

然后修改每个服务器的hosts文件

把服务器地址和名称映射一下,方便后面操作

 

然后再133主要的操作服务器的/bin目录下,创建xsync脚本文件。内容如下:

vim /bin/xsync

文件内容

#!/bin/bash
#1 没有参数,退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级的目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前的用户名称
user=`whoami`

#5 循环执行同步
for((host=133; host<=135; host++)); do
        echo ------------------- cluster-$host --------------
        rsync -av $pdir/$fname $user@cluster$host:$pdir
done

 

3:ssh免密登录

完成后,执行一下同步jdk的命令

xsync /opt/souftware/jdk-8u152-linux-x64.tar.gz

 从图中,可以看出,这样的话,链接是要输入用户名和密码的,所以为了方便,把ssh免密登录也配置一下

在133主服务器上执行命令:

ssh-keygen -t rsa

然后copy到其他两台机器上

命令:

ssh-copy-id cluster134

 

 然后再试一下同步命令

 

3:安装zk

1:解压zk包

在zk包目录下执行解压命令,并解压到指定目录下

tar -zxvf apache-zookeeper-3.9.1-bin.tar.gz -C /opt/installs/

 

2:修改配置文件

解压目录的bin目录下是一些命令脚本,conf是配置文件,先打开配置文件,有些需要修改一下

把这个sample名字最好改一下

 然后编辑它

 可以回到解压根路径下,创建一个自己的名字,我这里就叫zkData。所以配置路径如下

 然后可以先单节点启动一下,确保它是正常的

命令:

bin/zkServer.sh star

用jps查看它的状态

 可以在启动客户端 进入查看

bin/zkCli.sh

进去以后执行查看根节点的命令

ls /

 

4:集群安装

1:创建集群myid文件

》首先在数据目录下,也就是zkData下,创建文件,命名为:myId

注意这个名字不能变,因为源码里面写的是这样的一个文件名!!然后在里面输入一个数字,源码里面是个数字类型,代表着集群节点的身份,当然它必须唯一,而且这个必须在第一行写,同样的源码里面只读了一行

 

 然后使用同步脚本,把整个zk的目录分发到另外两台服务器上!分发完后第一步  一定要改这个myid文件

 2:配置集群信息

》在主服务器133上,编辑配置文件,把集群相关的通信端口进行配置

配置内容如下:

server.3=cluster133:2888:3888
server.4=cluster134:2888:3888
server.5=cluster135:2888:3888

其中server.n,这个n其实就是myid里面的内容,当然后面对应的服务器也必须是相对应的地址,2888是老大和小弟之间通信端口,3888是老大掉线时,小弟之间需要一个新的端口进行选举的通信

 

 然后同步到其他服务器

xsync zoo.cfg

 

4:开放端口号

启动之前,可以把端口访问权限放开。如果是本地玩的话,把防火墙关闭也是可以的。

linux对外开放端口号

把2181、2888、3888放开

4:启动集群

三台都执行启动命令:

bin/zkServer.sh start

 

如果立刻用查看状态命令的话,会发现都是报错状态,说某个节点没启动,所以需要等一会儿然后再查看状态

bin/zkServer.sh status

 另一个当然也是小弟节点

 

5:模拟老大下线的状态

 

 然后看另外两台的状态,135成为新的老大,133自然是小弟

 

然后再把134启动。它变成了小弟状态

 

6:创建节点

命令:create /节点名称 值

create /test abcdef

 

然后到另外两台服务器上 看看有没有这个节点

 

 

posted @ 2023-12-23 16:21  鸭猪是的念来过倒  阅读(35)  评论(0编辑  收藏  举报