Zookeeper集群搭建

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
注册配置 MSE Nacos/ZooKeeper,182元/月
云原生网关 MSE Higress,422元/月
简介: Zookeeper集群搭建

1 安装

先简单说下目的:


什么是单点故障问题?

HDFS中的NameNode,Yarn中ResourceManager,HBase中HMaster,Spark中Master,Storm中Nimbus起着“老大”的角色,那么“老大”挂了怎么办呢?这可就麻烦了,只要老大挂了,等于整个集群的服务都用不了了,NameNode挂了整个集群的HDFS就用不了了,HBase的HMaster挂了整个集群的Hbase都用不了了,等等。这就是所谓的单点故障问题。单点指只有一个主节点。


解决方案

基于ZooKeeper实现HA(High Availablity)的功能。


读者可以从“http://archive.apache.org/dist/”下载ZooKeeper安装包,也可以在本章软件资源文件夹中找到zookeeper-3.4.9.tar.gz文件。请将该文件复制到Master的“/home/csu/”目录下,进入该目录后执行解压缩命令:

tar -zxvf zookeeper-3.4.9.tar.gz


bb097d2a14b3428f8cf8cd3b50a24a56.png


2 配置

服务器集群属性

ZooKeeper的服务器集群属性配置文件是zoo.cfg,该文件在安装目录的“conf”子目录下。系统为用户准备了一个模板文件zoo_sample.cfg,我们可以将其复制并改名,得到zoo.cfg文件,然后进行修改。首先进入“conf”子目录,然后执行命令“cp zoo_sample.cfg zoo.cfg”。

21a8b81242b44518b18a3ef0722d5586.png

86955c54e7ed44ac9ca97090a7e3f474.png


server.1=master:2888:3888
server.2=slave0:2888:3888
server.3=slave1:2888:3888

上述代码是按照“服务器编号、服务器地址、LF通信端口和选举端口”的顺序排列的,其中,server表示ZooKeeper的服务器集群,我们这里配置了3台服务器,server后面的数字代表服务器的ID,等号后面紧跟的是服务器地址,这里使用了主机名;2888是LF(即Leader节点与Follower节点之间的)通信端口,3888是选举端口。


创建节点标识文件

上面我们通过zoo.cfg文件为ZooKeeper服务器集群中的每台服务器赋予了一个ID,master是1,slave0是2,slave1是3。但是,每台服务器在本地也需要一个myid文件,里面仅包含一行代码,就是其ID。所以,myid文件是节点标识文件,默认放置在“/tmp/zookeeper”目录下(参见zoo.cfg文件),但需要由用户自己创建。下面以Master为例进行讲解,我们首先来创建“/tmp/zookeeper”目录。


mkdir -p /tmp/zookeeper


执行“gedit /tmp/zookeeper/myid”命令来创建myid文件。


e35e9186ecf449a7b095c48b53274ba6.png

注意,其他Slave上也要进行同样的设置,只是ID不同而已。


复制ZooKeeper安装文件

用户需要根据自己Linux集群的具体情况,将上面安装好的ZooKeeper文件复制到Slave,这里需要复制两次,分别是Slave0和Slave1,其中,复制到Slave0的命令是“scp -r zookeeper-3.4.9 slave0:~/”,如图6-33所示。


scp -r zookeeper-3.4.9 slave0:~/


至此,我们就完成了ZooKeeper的安装。


3 启动和测试

要启动ZooKeeper,需要分别登录到Master和Slave进行启动操作。例如,要启动Master的ZooKeeper服务器,首先进入ZooKeeper安装目录,然后执行启动命令。请特别注意zkServer.sh中的大写字母,如果误写成小写的s,系统会提示无该文件或目录(no such file or directory)。

d249ce14ae5a4ed886ea78a668ddd04b.png

./zkServer.sh start


按下Enter键后,如果启动正常,看到的信息。1d80db0e79354cb6ba43f3a3a1a64d92.png

bin/zkServer.sh status


2d7780cf51584d3ba82d962297bad14a.png


系统给出的信息表明,该节点(Master)是一个Follower节点。根据ZooKeeper的工作原理,集群中应当有一个“leader”,不妨查看一下其他节点的状态,我们这里看到Slave0是Leader节点,结果如图6-37所示。

c47b16223fb940edaecd4856de6cb7f6.png

显然,谁是Leader节点谁是Follower节点,是由系统根据ZooKeeper选举机制确定的。要停止ZooKeeper服务,可在安装目录下执行“bin/zkServer.sh stop”命令。


ZooKeeper客户端

ZooKeeper也提供了一个客户端供用户进行交互式操作,进入ZooKeeper客户端的命令是:


bin/zkCli.sh -server master:2181


注意上述命令中的大小写,执行成功将看到的提示信息,其中“[zk: master:2181(CONNECTED) 0]”就是客户端命令行提示符。

b5a25b7a709b4b758603e4a17c5069d8.png

0a24902700b94956a60dc5c30e9d9e86.png

quit退出ZooKeeper客户端。


目录
相关文章
|
Java Shell Linux
Zookeeper单机&集群安装
Zookeeper单机&集群安装
133 1
|
存储 分布式计算 资源调度
Hadoop【环境搭建 04】【hadoop-2.6.0-cdh5.15.2.tar.gz 基于ZooKeeper搭建高可用集群】(部分图片来源于网络)
【4月更文挑战第1天】Hadoop【环境搭建 04】【hadoop-2.6.0-cdh5.15.2.tar.gz 基于ZooKeeper搭建高可用集群】(部分图片来源于网络)
446 3
|
6月前
|
消息中间件 运维 Java
搭建Zookeeper、Kafka集群
本文详细介绍了Zookeeper和Kafka集群的搭建过程,涵盖系统环境配置、IP设置、主机名设定、防火墙与Selinux关闭、JDK安装等基础步骤。随后深入讲解了Zookeeper集群的安装与配置,包括数据目录创建、节点信息设置、SASL认证配置及服务启动管理。接着描述了Kafka集群的安装,涉及配置文件修改、安全认证设置、生产消费认证以及服务启停操作。最后通过创建Topic、发送与查看消息等测试验证集群功能。全网可搜《小陈运维》获取更多信息。
491 1
|
10月前
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
12月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
199 1
|
12月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
176 1
|
12月前
|
分布式计算 Hadoop Unix
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制
187 1
|
12月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
207 1
|
12月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
159 0
|
存储 数据库
zookeeper 集群环境搭建及集群选举及数据同步机制
zookeeper 集群环境搭建及集群选举及数据同步机制
358 2