ZooKeeper集群搭建

一.环境说明

#系统:Centos7

#服务版本:Zookeeper-3.7.1

#主机ip:node1/10.0.0.114  node2/10.0.0.100  node3/10.0.0.200

二.配置java环境

[root@zookeeper-node1 ~]#yum install -y java-1.8.0-openjdk
[root@zookeeper-node2 ~]#yum install -y java-1.8.0-openjdk
[root@zookeeper-node3 ~]#yum install -y java-1.8.0-openjdk

三.部署ZooKeeper

1.安装Zookeeper

关于Zookeeper的安装请戳-->Centos7下安装Zookeeper

(做前4步即可) 

一键安装Zookeeper脚本请戳-->脚本分享:一键安装Zookeeper

2.创建数据目录

[root@zookeeper-node1 ~]#mkdir /usr/local/zookeeper/data
[root@zookeeper-node2 ~]#mkdir /usr/local/zookeeper/data
[root@zookeeper-node3 ~]#mkdir /usr/local/zookeeper/data

 3.基于模板配置文件生成配置文件

[root@zookeeper-node1 ~]#cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg

4.修改配置文件

[root@zookeeper-node1 ~]# vim /usr/local/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/loca/zookeeper/data
clientPort=2181
maxClienttCnxns=128
autopurge.purgeInterval=24

server.1=10.0.0.114:2888:3888
server.2=10.0.0.100:2888:3888
server.3=10.0.0.200:2888:3888

5.将修改的配置文件远程复制到另外两个节点上

[root@zookeeper-node1 ~]#scp /usr/local/zookeeper/conf/zoo.cfg 10.0.0.102:/usr/local/zookeeper/conf/
[root@zookeeper-node1 ~]#scp /usr/local/zookeeper/conf/zoo.cfg
10.0.0.103:/usr/local/zookeeper/conf/

6.在各节点生成ID文件

[root@zookeeper-node1 ~]#echo 1 > /usr/local/zookeeper/data/myid
[root@zookeeper-node2 ~]#echo 2 > /usr/local/zookeeper/data/myid
[root@zookeeper-node3 ~]#echo 3 > /usr/local/zookeeper/data/myid

7.启动Zookeeper

[root@zookeeper-node1 ~]#zkServer.sh start
[root@zookeeper-node2 ~]#zkServer.sh start
[root@zookeeper-node3 ~]#zkServer.sh start

#如果无法启动可以查看日志:

tail -f  /usr/local/zookeeper/logs/zookeeper-root-server-zookeeper-node1.out

8.查看集群状态

#只有leader监听2888/tcp端口:

[root@zookeeper-node3 loca]# zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader
[root@zookeeper-node3 loca]# ss -ntl | grep 2888
LISTEN     0      50     [::ffff:10.0.0.200]:2888                  [::]:* 

#follower监听2888/tcp端口:

[root@zookeeper-node1 ~]# zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
[root@zookeeper-node1 conf]# ss -ntl | grep 3888
LISTEN     0      50     [::ffff:10.0.0.114]:3888                  [::]:*
[root@zookeeper-node2 loca]# zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
[root@zookeeper-node2 loca]# ss -ntl | grep 3888
LISTEN     0      50     [::ffff:10.0.0.100]:3888                  [::]:*

四.测试访问

[root@zookeeper-node1 conf]# zkCli.sh -server 10.0.0.100:2181
[zk: 10.0.0.100:2181(CONNECTED) 0] version
ZooKeeper CLI version: 3.7.1a2fb57c55f8e59cdd76c34b357ad5181df1258d5, built on 2022-05-07 06:45 UTC
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Zookeeper是一个分布式的一致性协调服务,常用于分布式系统中的协调管理。在搭建Zookeeper集群之前,需要先安装好Java环境,具体步骤如下: 1. 下载Zookeeper安装包,并解压到指定目录。 2. 在Zookeeper的conf目录下,新建一个名为zoo.cfg的文件,配置Zookeeper集群的相关参数,例如: ``` tickTime=2000 initLimit=10 syncLimit=5 dataDir=/var/lib/zookeeper clientPort=2181 server.1=192.168.1.101:2888:3888 server.2=192.168.1.102:2888:3888 server.3=192.168.1.103:2888:3888 ``` 其中,tickTime表示Zookeeper中的基准时间单位,initLimit和syncLimit表示Zookeeper集群中的Follower节点与Leader节点之间的通信超时时间,dataDir表示Zookeeper中数据存储的目录,clientPort表示Zookeeper的客户端连接端口,server.x表示Zookeeper集群中的各节点信息。 3. 在每个节点的dataDir目录下,新建一个名为myid的文件,并将当前节点的编号写入该文件中,例如: ``` 1 ``` 4. 启动Zookeeper集群,可以通过命令行执行以下命令: ``` bin/zkServer.sh start ``` 5. 检查Zookeeper集群的状态,可以通过命令行执行以下命令: ``` bin/zkServer.sh status ``` 如果集群状态正常,显示类似于“Mode: leader”的信息,表示当前节点为Leader节点。 6. 使用Zookeeper集群,可以通过Java API或命令行客户端进行操作,例如创建节点、删除节点、获取节点列表等。 以上就是Zookeeper集群搭建的简单步骤,需要注意的是,Zookeeper集群的节点数应该为奇数,推荐使用3、5、7等节点数。同时,Zookeeper集群的配置需要根据实际情况进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值