A1--Zookeeper部署


1) 将/data/zookeeper/conf 这个路径下的 zoo_sample.cfg 修改为 zoo.cfg

mv zoo_sample.cfg zoo.cfg

 

2) 打开 zoo.cfg 文件,修改 dataDir 路径:

vim zoo.cfg

修改数据存储路径配置

dataDir=/data/zookeeper/zkData

增加如下配置

server.1=192.168.11.201:2888:3888
server.2=192.168.11.202:2888:3888
server.3=192.168.11.203:2888:3888

3) 在/data/zookeeper这个目录上创建 zkData 文件夹

mkdir zkData

(4)配置参数解读

server.A=B:C:D。
A 是一个数字,表示这个是第几号服务器;
集群模式下配置一个文件 myid, 这个文件在 dataDir 目录下,这个文件里面有一个数据
就是 A 的值, Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比
较从而判断到底是哪个 server。
B 是这个服务器的地址;
C 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;
D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的
Leader,而这个端口就是用来执行选举时服务器相互通信的端口。

3) 配置服务器编号

(1)在/data/zookeeper/zkData 目录下创建一个 myid 的文件

vi myid

在文件中添加与 server 对应的编号(注意:上下不要有空行,左右不要有空格)

1

3)拷贝配置好的 zookeeper 到其他机器上

scp -r /data/zookeeper 192.168.11.202:/data
scp -r /data/zookeeper 192.168.11.203:/data

并分别在 202,203服务器上修改 myid 文件中内容为2、3

4) 集群操作

(1)分别启动 Zookeeper

/data/zookeeper/bin/zkServer.sh start

(2)查看状态

/data/zookeeper/bin/zkServer.sh status

(3)关闭zookeeper

/data/zookeeper/bin/zkServer.sh stop

5) 添加系统服务

(1)创建系统服务文件并写入内容

cat /lib/systemd/system/zookeeper.service <<EOF
[Unit]
Description=Zookeeper Service
After=network.target
ConditionPathExists=/data/zookeeper/conf/zoo.cfg
 
[Service]
Type=forking
Environment=JAVA_HOME=/java/jdk1.8.0_161
ExecStart=/data/zookeeper/bin/zkServer.sh start
ExecStop=/data/zookeeper/bin/zkServer.sh stop
ExecReload=/data/zookeeper/bin/zkServer.sh restart
Restart=always
 
[Install]
WantedBy=multi-user.target
EOF

(2)启动服务

systemctl daemon-reload
systemctl start zookeeper.service
systemctl enable zookeeper.service

(3)查看服务

systemctl status zookeeper.service

posted @ 2023-04-04 13:37  Jerry·  阅读(34)  评论(0)    收藏  举报