微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

单机搭建三节点ZooKeeper集群(伪集群)

背景
由于测试服务器有限,只有一个台服务器,但是ZooKeeper集群最少要三个节点,所以打算在单机搭建三个节点的ZooKeeper集群

安装
zookeeper 版本
3.4.14

安装步骤
下载 zookeeper

wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

解压安装 zookeeper

tar -zxvf zookeeper-3.4.14.tar.gz

拷贝zookeeper
因为需要部署三个zookeeper,我们拷贝三分zookeeper

cp -R zookeeper-3.4.14 zookeeper_01

cp -R zookeeper-3.4.14 zookeeper_02

cp -R zookeeper-3.4.14 zookeeper_03

配置
进入zookeeper_01,创建data和logs目录

cd zookeeper_01
mkdir data
mkdir logs

进入data目录下,创建myid文件
在每个zookeeper的 data 目录下创建一个 myid 文件内容分别是1、2、3 。这个文件就是记录每个服务器的ID

echo 1 >myid


进入conf目录,复制zoo_sample.cfg文件重命名为zoo.cfg

cp zoo_sample.cfg zoo.cfg


修改zoo.cfg

# 单位时间,其他时间都是以这个倍数来表示
tickTime=2000
# 节点初始化时间,10倍单位时间
initLimit=10
# 心跳最大延迟周期
synclimit=5
# 数据目录
dataDir=/home/zk/zookeeper_01/data
# 日志目录
dataLogDir=/home/zk/zookeeper_01/logs
# 端口
clientPort=2181

#集群配置
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

每个节点都需要配置集群中所有节点信息,使用server.id=ip:port:port配置

其中id,是上面myid文件中配置的id;ip是节点的ip,第一个port是节点之间通信的端口,第二个port用于选举leader节点。

如果是真实集群环境,上面两个端口,每个节点都可以配置成2888和3888。因为我这里在同一台机器上,端口不能冲突,只能使用不同的

另外两个节点也同样操作,创建data目录和logs目录、创建myid文件,里面配置节点id、修改zoo.cfg,注意myid 分别为 2、3

三个节点的配置如下

/home/zk/zookeeper_01/conf/zoo.cfg

tickTime=2000
initLimit=10
synclimit=5
dataDir=/home/zk/zookeeper_01/data
dataLogDir=/home/zk/zookeeper_01/logs
clientPort=2181

server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

 

/home/zk/zookeeper_02/conf/zoo.cfg

tickTime=2000
initLimit=10
synclimit=5
dataDir=/home/zk/zookeeper_02/data
dataLogDir=/home/zk/zookeeper_02/logs
clientPort=2182

server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

 

/home/zk/zookeeper_03/conf/zoo.cfg

tickTime=2000
initLimit=10
synclimit=5
dataDir=/home/zk/zookeeper_03/data
dataLogDir=/home/zk/zookeeper_03/logs
clientPort=2183

server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
server.3=127.0.0.1:2890:3890

启动
进入zookeeper的bin目录,执行启动脚本启动

./zkServer.sh start

三个节点依次启动
查看节点启动状态

./zkServer.sh status

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐