单服务器部署 zookeeper 集群

目录

1、环境准备

2、zookeeper集群端口规划

3、下载zookeeper压缩包

4、解压zookeeper

5、移动zookeeper根目录到/usr/local/目录下

6、创建zookeeper各节点配置、数据目录

7、启动各节点

8、查看集群状态


1、环境准备

        IP:172.16.2.71

        系统:centos7.9

        JDK:1.8.0_144(需要配置 JAVA_HOME 环境变量)

2、zookeeper集群端口规划

zk节点客户端端口与leader交换信息端口leader选举通信端口
node1218126613661
node2218226623662
node3218326633663

3、下载zookeeper压缩包

        从官网下载安装包,参考 Zookeeper 官网

4、解压zookeeper

[root@localhost ~]# tar -xvf apache-zookeeper-3.5.10-bin.tar.gz

5、移动zookeeper根目录到/usr/local/目录下

 [root@localhost ~]# mv ./apache-zookeeper-3.5.10-bin /usr/local/

6、创建zookeeper各节点配置、数据目录

我这里统一将各节点配置放在/data/zookeeper目录下,大家可以自行调整

myid中的1、2、3与zoo.cfg中server.x的x保持一致,若x为4、5、6,则myid中的内容也应分别为4、5、6。

[root@localhost ~]# mkdir -p /data/zookeeper
[root@localhost ~]# cd /data/zookeeper
[root@localhost zookeeper]# mkdir -p node1/conf node1/data
[root@localhost zookeeper]# vi node1/conf/zoo.cfg
tickTime=100000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/node1/data
clientPort=2181

server.1=172.16.2.71:2661:3661
server.2=172.16.2.71:2662:3662
server.3=172.16.2.71:2663:3663
[root@localhost zookeeper]# cp -r ./node1 ./node2
[root@localhost zookeeper]# cp -r ./node1 ./node3
[root@localhost zookeeper]# sed -i 's/node1/node2/g' ./node2/zoo.cfg
[root@localhost zookeeper]# sed -i 's/2181/2182/g' ./node2/zoo.cfg
[root@localhost zookeeper]# sed -i 's/node1/node2/g' ./node3/zoo.cfg
[root@localhost zookeeper]# sed -i 's/2181/2182/g' ./node3/zoo.cfg
[root@localhost zookeeper]# echo 1 > ./node1/data/myid
[root@localhost zookeeper]# echo 2 > ./node2/data/myid
[root@localhost zookeeper]# echo 3 > ./node3/data/myid

7、启动各节点

[root@localhost apache-zookeeper-3.5.10-bin]# pwd
/usr/local/apache-zookeeper-3.5.10-bin
[root@localhost apache-zookeeper-3.5.10-bin]# ./bin/zkServer.sh --config /data/zookeeper/node1/conf/zoo.cfg start
[root@localhost apache-zookeeper-3.5.10-bin]# ./bin/zkServer.sh --config /data/zookeeper/node2/conf/zoo.cfg start
[root@localhost apache-zookeeper-3.5.10-bin]# ./bin/zkServer.sh --config /data/zookeeper/node3/conf/zoo.cfg start

8、查看集群状态

[root@localhost apache-zookeeper-3.5.10-bin]# ./bin/zkServer.sh --config /data/zookeeper/node1/conf status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/node1/conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
[root@localhost apache-zookeeper-3.5.10-bin]# ./bin/zkServer.sh --config /data/zookeeper/node2/conf status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/node2/conf/zoo.cfg
Client port found: 2182. Client address: localhost. Client SSL: false.
Mode: follower
[root@localhost apache-zookeeper-3.5.10-bin]# ./bin/zkServer.sh --config /data/zookeeper/node3/conf status
ZooKeeper JMX enabled by default
Using config: /data/zookeeper/node3/conf/zoo.cfg
Client port found: 2183. Client address: localhost. Client SSL: false.
Mode: leader
[root@localhost apache-zookeeper-3.5.10-bin]# 

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Docker中部署Zookeeper集群,可以按照以下步骤进行操作: 1. 创建Docker网络 我们需要创建一个Docker网络,以便容器之间可以相互通信。可以使用以下命令创建一个名为“zookeeper-net”的网络: ``` docker network create zookeeper-net ``` 2. 创建Zookeeper配置文件 创建一个名为“zoo.cfg”的配置文件,用于配置Zookeeper集群。可以使用以下示例作为模板: ``` tickTime=2000 initLimit=10 syncLimit=5 dataDir=/data/zookeeper/data clientPort=2181 server.1=zookeeper-1:2888:3888 server.2=zookeeper-2:2888:3888 server.3=zookeeper-3:2888:3888 ``` 在这个示例中,我们定义了Zookeeper的基本配置,包括时钟间隔、初始化限制、同步限制、数据目录、客户端端口和集群中的服务器。 3. 创建Zookeeper容器 现在我们可以创建Zookeeper容器了。我们需要创建3个容器,每个容器都运行一个Zookeeper实例。可以使用以下命令创建容器: ``` docker run --restart always --name zookeeper-1 --network zookeeper-net -p 2181:2181 -p 2888:2888 -p 3888:3888 -v /data/zookeeper/data:/data/zookeeper/data -v /data/zookeeper/log:/data/zookeeper/log -d zookeeper:3.5.8 docker run --restart always --name zookeeper-2 --network zookeeper-net -p 2182:2181 -p 2889:2888 -p 3889:3888 -v /data/zookeeper/data:/data/zookeeper/data -v /data/zookeeper/log:/data/zookeeper/log -d zookeeper:3.5.8 docker run --restart always --name zookeeper-3 --network zookeeper-net -p 2183:2181 -p 2890:2888 -p 3890:3888 -v /data/zookeeper/data:/data/zookeeper/data -v /data/zookeeper/log:/data/zookeeper/log -d zookeeper:3.5.8 ``` 在这个示例中,我们创建了三个容器,每个容器都运行一个Zookeeper实例。每个容器都使用“--restart always”参数,以便在容器失败时自动重启。每个容器都映射了客户端端口、领导者选举端口和数据同步端口,以便外部可以访问。每个容器都挂载了一个数据卷,用于保存Zookeeper数据和日志。 4. 验证Zookeeper集群 现在我们可以验证Zookeeper集群是否正常工作。可以使用以下命令连接到一个Zookeeper实例并运行“stat”命令: ``` docker exec -it zookeeper-1 zkCli.sh stat /zookeeper/quota ``` 如果集群正常工作,将显示Zookeeper的状态信息。您可以尝试在一个实例上创建节点,然后在另一个实例上查看该节点是否存在。 ``` create /test test-data get /test ``` 这些命令将在集群中创建一个名为“/test”的节点,并在其中存储“test-data”。然后,使用“get”命令在另一个实例上检索该节点的数据。 这样,我们就完成了在Docker中部署Zookeeper集群的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值