前面我们介绍介绍了几个常用的代理服务器,本章节我们讲来讲解Zookeeper这个中间件。
ZooKeeper 是一个分布式协调服务,广泛应用于分布式系统的配置管理、命名服务、分布式锁等场景。本文将详细介绍 ZooKeeper 单机安装和集群安装的步骤。
由于Zookeeper是基于Java语言,所以我们需要准备JDK环境,这里实际上和我们前面讲解的Web服务器-Tomcat类似。
yum -y install java-1.8.0-openjdk
[root@localhost ~]# java -version
openjdk version "1.8.0_412"
OpenJDK Runtime Environment (build 1.8.0_412-b08)
OpenJDK 64-Bit Server VM (build 25.412-b08, mixed mode)
2.ZooKeeper软件包准备
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.8.1/apache-zookeeper-3.8.1-bin.tar.gz
tar -zxvf apache-zookeeper-3.8.1-bin.tar.gz
mv apache-zookeeper-3.8.1-bin /opt/zookeeper
#当然这里并没有修改任何配置
#正常使用至少要修改数据存储路径
cd /opt/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
#启动单机版
[root@localhost conf]# ../bin/zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
#检查服务状态,standalone是单机版
[root@localhost conf]# ../bin/zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: standalone
#链接zk
[root@localhost conf]# ../bin/zkCli.sh
/usr/bin/java
Connecting to localhost:2181
#省略部分信息
Welcome to ZooKeeper!
JLine support is enabled
2025-04-16 23:51:35,611 [myid:localhost:2181] - INFO [main-SendThread(localhost:2181):o.a.z.ClientCnxn$SendThread@1452] - Session establishment complete on server localhost/127.0.0.1:2181, session id = 0x1000079454f0000, negotiated timeout = 30000
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 1]
server.1=192.168.31.140:2888:3888
server.2=192.168.31.141:2888:3888
server.3=192.168.31.142:2888:3888
步骤 2:创建 myid
文件
由于默认的数据目录是在/tmp/zookeeper,所以这里我还是使用这个路径。需要提前创建数据目录。
#在140执行
echo 1 > /tmp/zookeeper/myid
#在141执行
echo 2 > /tmp/zookeeper/myid
#在142执行
echo 3 > /tmp/zookeeper/myid
在所有节点启动 ZooKeeper
cd /opt/zookeeper/bin ./zkServer.sh start
步骤4: 检查集群状态
cd /opt/zookeeper/bin ./zkServer.sh status
正常三节点应该是1个leader,2个follower,这个时候集群就算搭建成功。
[root@localhost conf]# ../bin/zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader
这样我们就启动了一个三节点的Zookeeper集群。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有