Centos7安装Zookeeper集群

zookeeper单机集群3个节点,端口号分别是2181、2812、2813

1、文件安装到/usr/local/zookeeper下(自己下载tar包或wget安装)

[root@localhost /]# cd /usr/local/
[root@localhost local]# mkdir zookeepersoft
[root@localhost local]# cd zookeepersoft/
[root@localhost zookeepersoft]# ls
zookeeper-3.4.14.tar.gz
[root@localhost local]# mkdir -p /usr/local/zookeeper/218{1,2,3}/{data,datalogs}
[root@localhost zookeeper]# cd /usr/local/zookeeper
[root@localhost zookeeper]# tree -L 3
.
├── 2181
│   ├── data
│   └── datalogs
├── 2182
│   ├── data
│   └── datalogs
└── 2183
    ├── data
    └── datalogs
解压并安装至/usr/local/
[root@localhost zookeepersoft]# tar -zxvf zookeeper-3.4.14.tar.gz -C /usr/local/
[root@localhost zookeepersoft]# cp -r /usr/local/zookeeper-3.4.14/ /usr/local/zookeeper/2181
[root@localhost zookeepersoft]# cp -r /usr/local/zookeeper-3.4.14/ /usr/local/zookeeper/2182
[root@localhost zookeepersoft]# cp -r /usr/local/zookeeper-3.4.14/ /usr/local/zookeeper/2183
最终的目录结构
[root@localhost zookeepersoft]# cd /usr/local/zookeeper
[root@localhost zookeeper]# tree -L 2
.
├── 2181
│   ├── data
│   ├── datalogs
│   └── zookeeper-3.4.14
├── 2182
│   ├── data
│   ├── datalogs
│   └── zookeeper-3.4.14
└── 2183
    ├── data
    ├── datalogs
    └── zookeeper-3.4.14

2、配置zoo.cfg文件(三个文件夹下都要配置)

节点1

[root@localhost zookeeper]# ll
总用量 0
drwxr-xr-x. 5 root root 58 10月 11 15:51 2181
drwxr-xr-x. 5 root root 58 10月 11 15:51 2182
drwxr-xr-x. 5 root root 58 10月 11 15:51 2183
[root@localhost zookeeper]# cd 2181/zookeeper-3.4.14/conf/
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg 
[root@localhost conf]# vim zoo.cfg

dataDir=/usr/local/zookeeper/2181/data
clientPort=2181
dataLogDir=/usr/local/zookeeper/2181/datalogs (如果没有这个可以加一个,自己选择)
server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882
server.3=127.0.0.1:2883:3883

节点2

[root@localhost zookeeper]# ll
总用量 0
drwxr-xr-x. 5 root root 58 10月 11 15:51 2181
drwxr-xr-x. 5 root root 58 10月 11 15:51 2182
drwxr-xr-x. 5 root root 58 10月 11 15:51 2183
[root@localhost zookeeper]# cd 2182/zookeeper-3.4.14/conf/
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg 
[root@localhost conf]# vim zoo.cfg

dataDir=/usr/local/zookeeper/2182/data
clientPort=2182
dataLogDir=/usr/local/zookeeper/2182/datalogs (如果没有这个可以加一个,自己选择)
server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882
server.3=127.0.0.1:2883:3883

节点3

[root@localhost zookeeper]# ll
总用量 0
drwxr-xr-x. 5 root root 58 10月 11 15:51 2181
drwxr-xr-x. 5 root root 58 10月 11 15:51 2182
drwxr-xr-x. 5 root root 58 10月 11 15:51 2183
[root@localhost zookeeper]# cd 2183/zookeeper-3.4.14/conf/
[root@localhost conf]# cp zoo_sample.cfg zoo.cfg 
[root@localhost conf]# vim zoo.cfg

dataDir=/usr/local/zookeeper/2183/data
clientPort=2183
dataLogDir=/usr/local/zookeeper/2183/datalogs (如果没有这个可以加一个,自己选择)
server.1=127.0.0.1:2881:3881
server.2=127.0.0.1:2882:3882
server.3=127.0.0.1:2883:3883

clientPort:客户端连接端口
dataDir:数据存放目录
dataLogDir:数据日志存放目录,非运行日志
server.x:集群中的节点(包括自己),x对应myid的数字,2个端口分别用于集群选举通讯


配置myid

每个节点必须有myid配置文件,记录节点的唯一标识,必须放在dataDir文件夹下
id值必须与上面配置的server.x中的x对应

[root@localhost conf]# touch /usr/local/zookeeper/2181/data/myid && echo "1" > /usr/local/zookeeper/2181/data/myid
[root@localhost conf]# touch /usr/local/zookeeper/2182/data/myid && echo "2" > /usr/local/zookeeper/2182/data/myid
[root@localhost conf]# touch /usr/local/zookeeper/2183/data/myid && echo "3" > /usr/local/zookeeper/2183/data/myid
[root@localhost data]# more /usr/local/zookeeper/218*/data/myid
::::::::::::::
/usr/local/zookeeper/2181/data/myid
::::::::::::::
1
::::::::::::::
/usr/local/zookeeper/2182/data/myid
::::::::::::::
2
::::::::::::::
/usr/local/zookeeper/2183/data/myid
::::::::::::::
3

配置防火墙

firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=2182/tcp --permanent
firewall-cmd --zone=public --add-port=2183/tcp --permanent
firewall-cmd --zone=public --add-port=2881/tcp --permanent
firewall-cmd --zone=public --add-port=2882/tcp --permanent
firewall-cmd --zone=public --add-port=2883/tcp --permanent
firewall-cmd --zone=public --add-port=3881/tcp --permanent
firewall-cmd --zone=public --add-port=3882/tcp --permanent
firewall-cmd --zone=public --add-port=3883/tcp --permanent

[root@localhost data]# systemctl restart firewalld
[root@localhost data]# firewall-cmd --list-ports
8123/tcp 8848/tcp 4682/tcp 4488/tcp 2181/tcp 2182/tcp 2183/tcp 2881/tcp 2882/tcp 2883/tcp 3881/tcp 3882/tcp 3883/tcp

启动每个节点

cd /usr/local/zookeeper/2181 && /usr/local/zookeeper/2181/zookeeper-3.4.14/bin/zkServer.sh start
cd /usr/local/zookeeper/2182 && /usr/local/zookeeper/2182/zookeeper-3.4.14/bin/zkServer.sh start
cd /usr/local/zookeeper/2183 && /usr/local/zookeeper/2183/zookeeper-3.4.14/bin/zkServer.sh start


查看节点状态

/usr/local/zookeeper/2181/zookeeper-3.4.14/bin/zkServer.sh status
/usr/local/zookeeper/2182/zookeeper-3.4.14/bin/zkServer.sh status
/usr/local/zookeeper/2183/zookeeper-3.4.14/bin/zkServer.sh status

[root@localhost 2183]# /usr/local/zookeeper/2181/zookeeper-3.4.14/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/2181/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: leader
[root@localhost 2183]# /usr/local/zookeeper/2182/zookeeper-3.4.14/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/2182/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower
[root@localhost 2183]# /usr/local/zookeeper/2183/zookeeper-3.4.14/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/2183/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容