openEuler24.03 LTS下安装ZooKeeper集群

目录

前提条件

ZooKeeper集群规划

下载ZooKeeper

解压

配置环境变量

配置ZooKeeper

配置zoo.cfg

配置myid

分发到其他机器

修改其他机器myid

启动集群

关闭集群

集群启停脚本


前提条件

准备3台Linux机器,并安装好Java8

ZooKeeper集群规划

node2node3node4
zookeeperzookeeperzookeeper

安装的ZooKeeper版本为3.7.1,首先在node2安装ZooKeeper,然后分发到node3、node4。

下载ZooKeeper

下载ZooKeeper安装包并上传到node2 /opt/software目录

https://archive.apache.org/dist/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz

解压

解压

[liang@node2 software]$ tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/module

重命名

[liang@node2 software]$ cd /opt/module/
[liang@node2 module]$ ls | grep zookeeper
apache-zookeeper-3.7.1-bin
[liang@node2 module]$ mv apache-zookeeper-3.7.1-bin zookeeper-3.7.1

配置环境变量

[liang@node2 module]$ sudo vim /etc/profile.d/my_env.sh

添加如下内容

#ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.7.1
export PATH=$PATH:$ZOOKEEPER_HOME/bin

让环境变量生效

[liang@node2 module]$ source /etc/profile

配置ZooKeeper

配置zoo.cfg

[liang@node2 module]$ cd $ZOOKEEPER_HOME/conf/
[liang@node2 conf]$ ls
configuration.xsl  log4j.properties  zoo_sample.cfg
[liang@node2 conf]$ cp zoo_sample.cfg zoo.cfg
[liang@node2 conf]$ ls
configuration.xsl  log4j.properties  zoo.cfg  zoo_sample.cfg
[liang@node2 conf]$ vim zoo.cfg

修改内容

dataDir=/opt/module/zookeeper-3.7.1/zkData

同时,文件末尾添加如下配置

server.2=node2:2888:3888
server.3=node3:2888:3888
server.4=node4:2888:3888

配置myid

在dataDir配置目录(zoo.cfg中配置了dataDir)下创建myid,在myid中配置服务器编号

cd $ZOOKEEPER_HOME
mkdir zkData
cd zkData

创建myid

vim myid

内容如下:

2

分发到其他机器

分发ZooKeeper安装目录到node3、node4

xsync /opt/module/zookeeper-3.7.1

分发环境变量

sudo /home/liang/bin/xsync /etc/profile.d/my_env.sh

根据提示输入node2机器root账户的登录密码

分别让node3及node4的环境变量生效

[liang@node3 ~]$ source /etc/profile
[liang@node4 ~]$ source /etc/profile

修改其他机器myid

分别修改node3、node4的myid,myid的内容改为机器对应的服务器编号。

node3机器

[liang@node3 ~]$ vim $ZOOKEEPER_HOME/zkData/myid

内容修改为

3

node4机器

[liang@node4 ~]$ vim $ZOOKEEPER_HOME/zkData/myid

内容修改为

4

启动集群

分别在集群各个机器启动ZooKeeper服务

[liang@node2 conf]$ zkServer.sh start
[liang@node3 conf]$ zkServer.sh start
[liang@node4 conf]$ zkServer.sh start

分别查看集群各个机器ZooKeeper状态

[liang@node2 conf]$ zkServer.sh status
[liang@node3 conf]$ zkServer.sh status
[liang@node4 conf]$ zkServer.sh status

可以看到三台有一台机器为leader状态,另外两台机器为follower状态。

查看进程

[liang@node2 conf]$ jps
[liang@node3 conf]$ jps
[liang@node4 conf]$ jps

关闭集群

分别在集群各个机器关闭ZooKeeper服务

[liang@node2 conf]$ zkServer.sh stop
[liang@node3 conf]$ zkServer.sh stop
[liang@node4 conf]$ zkServer.sh stop

查看进程

[liang@node2 conf]$ jps
[liang@node3 conf]$ jps
[liang@node4 conf]$ jps

集群启停脚本

在node2机器执行

zk.sh

vim ~/bin/zk.sh

内容如下:

#!/bin/bash
 
case $1 in
"start"){
	for i in node2 node3 node4
	do
        echo ---------- zookeeper $i 启动 ------------
		ssh $i "/opt/module/zookeeper-3.7.1/bin/zkServer.sh start"
	done
};;
"stop"){
	for i in node2 node3 node4
	do
        echo ---------- zookeeper $i 停止 ------------    
		ssh $i "/opt/module/zookeeper-3.7.1/bin/zkServer.sh stop"
	done
};;
"status"){
	for i in node2 node3 node4
	do
        echo ---------- zookeeper $i 状态 ------------    
		ssh $i "/opt/module/zookeeper-3.7.1/bin/zkServer.sh status"
	done
};;
esac

添加权限

chmod +x ~/bin/zk.sh

测试

zk.sh start
zk.sh status
zk.sh stop

如有需要,可点击查看:配套视频教程

完成!enjoy it!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值