前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ZooKeeper 完全分布式集群环境搭建

ZooKeeper 完全分布式集群环境搭建

作者头像
星哥玩云
发布2022-08-08 16:03:44
2210
发布2022-08-08 16:03:44
举报
文章被收录于专栏:开源部署开源部署

1、 搭建前准备

示例共三台主机,主机IP映射信息如下:

代码语言:javascript
复制
192.168.32.101 s1
192.168.32.102 s2
192.168.32.103 s3

2、下载ZooKeeper, 以 zookeeper-3.4.14 为例,下载地址如下:

https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

3、复制下载好的zookeeper-3.4.14.tar.gzs1主机上,并解压到/opt 下

代码语言:javascript
复制
tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/

4、配置

s1 上创建data目录和myid文件

代码语言:javascript
复制
mkdir /opt/zookeeper-3.4.14/data
echo 1 > /opt/zookeeper-3.4.14/data/myid

创建conf/zoo.cfg 

代码语言:javascript
复制
vi /opt/zookeeper-3.4.14/conf/zoo.cfg

输入如下内容:

代码语言:javascript
复制
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/opt/zookeeper-3.4.14/data
dataLogDir=/opt/zookeeper-3.4.14/logs
clientPort=2181
server.1=s1:2888:3888
server.2=s2:2888:3888
server.3=s3:2888:3888

5、远程复制zookeeper到另外两台主机 s2、s3 上

代码语言:javascript
复制
scp -r /opt/zookeeper-3.4.14 root@s2:/opt/
scp -r /opt/zookeeper-3.4.14 root@s3:/opt/

登录主机s2 ,修改 myid 文件

代码语言:javascript
复制
ssh s2
echo 2 > /opt/zookeeper-3.4.14/data/myid

登录主机s3 ,修改 myid 文件

代码语言:javascript
复制
ssh s3
echo 3 > /opt/zookeeper-3.4.14/data/myid

6、配置三台主机环境变量

代码语言:javascript
复制
vi /etc/profile

添加内容如下:

代码语言:javascript
复制
export ZOOKEEPER_HOME=/opt/zookeeper-3.4.14
export PATH=$PATH:$ZOOKEEPER_HOME/bin

使用source命令使配置立即生效

代码语言:javascript
复制
source /etc/profile

7、启动

在三台主机上分别执行如下命令

代码语言:javascript
复制
zkServer.sh start

查询运行状态

代码语言:javascript
复制
zkServer.sh status

三台主机显示信息如下:

代码语言:javascript
复制
[root@s1 conf]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower
代码语言:javascript
复制
[root@s2 opt]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: leader
代码语言:javascript
复制
[root@s3 opt]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower

leader:s2

follower:s1、s3

重启命令

代码语言:javascript
复制
zkServer.sh restart

停止命令

代码语言:javascript
复制
zkServer.sh stop

8、客户端连接

代码语言:javascript
复制
/opt/zookeeper-3.4.14/bin/zkCli.sh -server s1:2181

输入 h 查看所有命令

查看节点命令

代码语言:javascript
复制
ls /

指定ZooKeeper日志zookeeper.out的输出目录,不指定情况下会输出到运行zkServer.sh时的当前目录

zkServer.sh文件里加入一行配置即可指定输出目录,如下所示:

代码语言:javascript
复制
ZOO_LOG_DIR=/opt/zookeeper-3.4.14/logs
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档