赞
踩
Zookeeper是一个分布式的、开源的程序协调服务。他提供的主要功能包括:配置管理、名字服务、分布式锁、集群管理。
关于主要功能的具体描述可以看一下这篇文章,描述的还是比较详细的
https://blog.csdn.net/qq_54796785/article/details/126138276
接下来主要讲一下基于Linux CentOS7搭建3节点的zookeeper集群(如果你没那么多服务器,那么你也不用担心。其实一台也可以,只要保证每个实例的交互端口不一样就可以了,搭建流程和3台服务器搭建流程是一样的)。
在搭建前先准备好三台Linux CentOS7服务器,为了方便,配置节点的host分别为node1、node2、node3。同时保证三台服务器的交互端口的访问权限是开放的,这个十分重要,十分重要,十分重要
接下来开始搭建
可以到官网下载,也可以通过下边的网盘去下载
zookeeper3.7.1
提取码:qe4g
我的目录是/home/tools,如果没有这个目录建议提前创建好
mkdir -p /home/tools
然后进入/home/tools目录
cd /home/tools
输入rz,然后回车上传安装包
rz
查看当前目录,查看上传的安装包
ll
tar -zvxf apache-zookeeper-3.7.1-bin.tar.gz
mv apache-zookeeper-3.7.1-bin /usr/local/zk-3.7.1
cd /usr/local/zk-3.7.1/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
默认配置如下图
修改dataDir配置
dataDir=/usr/local/zk-3.7.1/data
添加如下配置
dataLogDir=/usr/local/zk-3.7.1/log
admin.serverPort=8001
server.1=node1:2887:3887
server.2=node2:2887:3887
server.3=node3:2887:3887
退出保存
说明
clientPort:zookeeper服务的端口
server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B是这个服务器的 ip 地址;C表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于B都是一样,所以不同的 ZooKeeper实例通信端口号不能一样,所以要给它们分配不同的端口号
首先进入/usr/local/zk-3.7.1目录
cd /usr/local/zk-3.7.1
如果当前目录下没有data和log目录,那么就自己创建一下这俩目录
mkdir data
mkdir log
然后进入data目录,创建myid文件,并填写对应的服务器号,也就是上边的server.A中对应的那个A
vim myid
输入1
然后保存退出。至此,node1节点的zookeeper服务已经搭建完成。
scp -r /usr/local/zk-3.7.1 root@node2:/usr/local
scp -r /usr/local/zk-3.7.1 root@node3:/usr/local
如果不是免密传输的话,需要你输入对应node2和node3服务器的连接密码才能传输成功。
传输完成后,记得修改node2和node3节点下/usr/local/zk-3.7.1/data/myid的集群服务号
node2改成2,node3改成3
进入/usr/local/zk-3.7.1
cd /usr/local/zk-3.7.1
输入如下启动命令
./bin/zkServer.sh start
停止和查看启动状态的命令
./bin/zkServer.sh stop
./bin/zkServer.sh status
至此zookeeper集群搭建完成!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。