当前位置:职场发展 > Zookeeper3.5.5集群部署

Zookeeper3.5.5集群部署

  • 发布:2023-10-06 23:56

ZooKeeper是一个分布式、开源的协调服务,专为分布式应用程序设计。主要用于解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调。以及提供高性能分布式服务的管理难度。 ZooKeeper本身可以以Standalone模式安装和运行,但其优点在于通过基于一定策略的分布式ZooKeeper集群(一个Leader,多个Followers)保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。 。 ZooKeeper是一个分布式协调服务,不需要依赖Hadoop,也可以为其他分布式环境提供服务。

 Zookeeper 有单机、伪集群、集群三种部署方式。您可以根据自己的可靠性需求选择合适的部署方式。下面分别对这三种部署方式进行说明。

1。独立安装

准备:

关闭防火墙:systemctl stopfirewalld.service
禁止防火墙自动启动:systemctldisablefirewalld.service

关闭selinux:setenforce 0
禁用selinux启动:vim /etc/selinux/config

SELINUX=禁用

各节点主机分辨率:

10.0.0.11 节点01
10.0.0.12node02
10.0.0.13 节点03

1.1下载
进入您要下载的版本目录,选择要下载的.tar.gz文件,这里我们选择最新版本
下载链接:http://www.sychzs.cn /dist/zookeeper/

wget http://www.sychzs.cn/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz
?文件中的路径也要相应修改)

tar xfapache-zookeeper-3.5.5-bin.tar.gz
-C /usr/local/src/ ln -s /usr/local/src/apache-zookeeper-3.5.5-bin /usr/local/zookeeper

1.3 配置
在home目录下创建data和log两个目录,用于存放数据和日志:

mkdir -p /data/zookeeper/{数据,日志}

在conf目录下新建zoo.cfg文件,写入以下内容并保存:

vim /usr/local/zookeeper/conf/zoo.cfg

tickTime=2000
数据目录=/数据/zookeeper/数据
dataLogDir=/data/zookeeper/日志
客户端端口=2181

添加环境变量:

echo -e 'export ZOOKEEPER_HOME=/usr/local/zookeeper\nexport PATH=$ZOOKEEPER_HOME/bin:$PATH' >>/etc/profile
源/etc/profile

1.4 启动和停止
进入bin目录,启动、停止、重启(启动、停止、重启和状态)并查看当前节点状态(包括集群中的角色)。请执行:

www.sychzs.cn启动

2。伪集群模式
伪集群模式就是在同一台主机上启动多个zookeeper,组成一个集群。下面以在node01主机上创建3个zookeeper组集群为例。将单节点zookeeper复制为zookeeper1/zookeeper2/zookeeper3三个副本。

2.1 Zookeeper1 配置
Zookeeper1 配置文件修改如下:

vim /usr/local/zookeeper1/conf/zoo.cfg

tickTime=2000
dataDir=/usr/local/zookeeper1/data
dataLogDir=/usr/local/zookeeper1/logs
客户端端口=2181
初始限制=5
同步限制=2
server.1=node01:2888:3888
server.2=node01:4888:5888
server.3=node01:6888:7888

zookeeper1的/data/zookeeper/data/myid配置如下:

echo '1' > /data/zookeeper/data/myid

2.2 Zookeeper2配置
zookeeper2配置文件conf/zoo.cfg修改如下:

vim /usr/local/zookeeper2/conf/zoo.cfg

tickTime=2000
dataDir=/usr/local/zookeeper2/data
dataLogDir=/usr/local/zookeeper2/logs
客户端端口=3181
初始限制=5
同步限制=2
server.1=node01:2888:3888
server.2=node01:4888:5888
server.3=node01:6888:7888

zookeeper2的/data/zookeeper/data/myid配置如下:

echo '2' > /data/zookeeper/data/myid

2.3 Zookeeper3配置
zookeeper3配置文件conf/zoo.cfg修改如下:

vim /usr/local/zookeeper3/conf/zoo.cfg

tickTime=2000
dataDir=/usr/local/zookeeper3/data
dataLogDir=/usr/local/zookeeper3/logs
客户端端口=4181
初始限制=5
同步限制=2
server.1=node01:2888:3888
server.2=node01:4888:5888
server.3=node01:6888:7888

zookeeper3的/data/zookeeper/data/myid配置如下:

echo '3' > /data/zookeeper/data/myid

启动动物园管理员。对启动顺序没有要求。

www.sychzs.cn启动

3。集群模式
集群模式是zookeeper安装在不同的主机上,然后组成一个集群的模式;下面以三台主机node01、node02、node03为例。将步骤1.1到1.3中安装的zookeeper包复制到node02和node03,并解压到同一目录。

3.1conf/zoo.cfg文件修改
三个zookeeper的conf/zoo.cfg修改如下:

vim /usr/local/zookeeper/conf/zoo.cfg

tickTime=2000
数据目录=/数据/zookeeper/数据
dataLogDir=/data/zookeeper/日志
客户端端口=2181
初始限制=5
同步限制=2
server.1=node01:2888:3888server.2=node02:2888:3888
server.3=node03:2888:3888

#2888端口号是zookeeper服务之间通信的端口,3888是zookeeper和其他应用程序之间通信的端口。对于137和138来说,由于安装目录都是zookeeper,所以dataDir和dataLogDir不需要改变,而且由于它们是不同机器上的clientPort也不需要改变
所以此时conf/的内容137和138的zoo.cfg可以和136一样。
3.2 /data/zookeeper/data/myid 文件修改
136 /data/zookeeper/data/myid 修改如下:

echo '1' > /data/zookeeper/data/myid

137 /data/zookeeper/data/myid 修改如下:

echo '2' > /data/zookeeper/data/myid

138 /data/zookeeper/data/myid 修改如下:

echo '3' > /data/zookeeper/data/myid

启动zookeeper集群。对启动顺序没有要求。

www.sychzs.cn启动

4。验证Zookeeper集群是否安装成功。
可以验证启动是否成功:

ps -ef | grep 动物园管理员

4.1 分别检查3台虚拟机上zookeeper的状态。

www.sychzs.cn 状态

4.2 连接其中一个动物园管理员

www.sychzs.cn -服务器节点02:2181

4.3 写入数据

创建/测试数据

4.4 连接另一个zookeeper

www.sychzs.cn -服务器节点03:2181

4.5 如果能够获取到刚刚写入的数据,则Zookeeper集群安装成功。

获取/测试
? www.sychzs.cn status 检查zk是否确实启动。如果没有启动,检查zookeeper.out中的错误。
zookeeper.out中报错:“zookeeper地址已经在使用中”;显然端口被占用了,要么是因为其他进程占用了配置的端口,要么是上面配置的clientPort和服务器中的端口重复了。
zookeeper.out 报错:Cannot openchannel to 2 atelection address /node01:3888;这应该只是组成集群的node02节点还没有启动。当node02启动时,zk就正常了。

相关文章

最新资讯

热门推荐