ZooKeeper【部署 02】apache-zookeeper-3.6.0 集群版(准备+安装配置+启动验证)

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: ZooKeeper【部署 02】apache-zookeeper-3.6.0 集群版(准备+安装配置+启动验证)

为保证集群高可用,Zookeeper 集群的节点数最好是奇数,最少有三个节点,所以这里演示搭建一个三个节点的集群。这里我使用三台主机进行搭建,主机名分别为 hadoop001,hadoop002、hadoop003。

1. 前期准备

主机名与ip地址映射,随后的配置文件内会使用主机名来映射ip地址,每台服务器都要进行设置:

[root@hadoop01 ~]# vim /etc/hosts
xxx.xx.x.x hadoop01 hadoop01
xxx.xx.x.x hadoop02 hadoop02
xxx.xx.x.x hadoop03 hadoop03
# hosts生效
[root@hadoop01 ~]# /etc/init.d/network restart
Restarting network (via systemctl):                        [  OK  ]

安装jdk,zookeeper也需要运行在Java环境下:

[root@hadoop01 logs]# java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

关闭防火墙【所有节点】:

# 查看防火墙状态
[root@hadoop01 logs]# firewall-cmd --state
not running
# 如果是开启状态,关闭防火墙:
[root@hadoop01 logs]# systemctl stop firewalld.service

2. 安装配置

  1. 在安装包所在文件夹下解压并移动到 /usr/local/ 文件夹下
tar -zxvf apache-zookeeper-3.6.0-bin.tar.gz
mv ./apache-zookeeper-3.6.0-bin/ /usr/local/zookeeper
  1. 配置环境变量

配置环境变量的方法比较多,这里统一将环境变量放在 /etc/profile.d/my_env.sh 内。

# 配置环境变量:
vim /etc/profile.d/my_env.sh
# 添加 ZOOKEEPER_HOME 和 PATH
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
# 使得配置的环境变量立即生效:
  # 首先是要赋权限【只操作一次就行】
  chmod +x /etc/profile.d/my_env.sh
source /etc/profile.d/my_env.sh
  1. 修改 zoo.cfg 配置【集群版有两个不同的地方:一个是zoo.cfg配置内容,另一个是myid】

进入${ZOOKEEPER_HOME}/conf/ 目录下,拷贝配置样本并进行修改:

[root@hadoop01 conf]# cp zoo_sample.cfg zoo.cfg

指定数据存储目录和日志文件目录(目录不用预先创建,程序会自动创建),修改后完整配置如下:

root@hadoop01 conf]# vim zoo.cfg
# 无关注释不再贴出
# 主要是配置这两个文件夹【默认也是可以的 把数据和日志文件夹都放在zookeep下 易于远程拷贝】
dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/log
# 以下是默认值
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
# 以下是集群版配置信息【不同点一】
server.1=hadoop001:2287:3387
server.2=hadoop002:2287:3387
server.3=hadoop003:2287:3387

以上安装与单机版一致,详情可以参考单机版安装指南。单机版的参数说明不再赘述,解释以下集群配置:server.A=B:C:D

  • A:是服务器的标识,可以是任意有效数字,标识这是第几个服务器节点【影响集群首次启动的leader选举】;
  • B:是A对应的服务器 ip 地址;
  • C:Zookeeper服务器之间的通信端口;
  • D:Leader选举的端口。

以上是集群版单机安装的内容,之后使用 scp 命令将安装包分发到其他两台服务器上:

# 将安装包分发到hadoop002
scp -r /usr/local/zookeeper/ hadoop002:/usr/local/
# 将安装包分发到hadoop003
scp -r /usr/local/zookeeper/ hadoop003:/usr/local/

【不同点二】集群版要在${dataDir}目录下添加 myid 文件

Zookeeper 集群通过myid 文件识别集群节点,并通过上文配置的节点通信端口和选举端口来进行节点通信,选举出Leader 节点。【标识要跟 zoo.cfg 文件保持一致】

# hadoop001主机
echo "1" > /usr/local/zookeeper/data/myid
# hadoop002主机
echo "2" > /usr/local/zookeeper/data/myid
# hadoop003主机
echo "3" > /usr/local/zookeeper/data/myid

3. 集群启动

分别在三台主机上,执行如下命令启动服务:

[root@hadoop01 hadoop]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

4. 集群验证

启动后使用 zkServer.sh status 查看集群各个节点状态。三个节点进程均启动成功,并且 hadoop002 为 leader 节点,hadoop001 和 hadoop003 为 follower 节点。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
1月前
|
消息中间件 存储 监控
构建高可用性Apache Kafka集群:从理论到实践
【10月更文挑战第24天】随着大数据时代的到来,数据传输与处理的需求日益增长。Apache Kafka作为一个高性能的消息队列服务,因其出色的吞吐量、可扩展性和容错能力而受到广泛欢迎。然而,在构建大规模生产环境下的Kafka集群时,保证其高可用性是至关重要的。本文将从个人实践经验出发,详细介绍如何构建一个高可用性的Kafka集群,包括集群规划、节点配置以及故障恢复机制等方面。
88 4
|
2月前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
44 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
|
2月前
|
数据处理 Apache 数据库
将 Python UDF 部署到 Apache IoTDB 的详细步骤与注意事项
【10月更文挑战第21天】将 Python UDF 部署到 Apache IoTDB 中需要一系列的步骤和注意事项。通过仔细的准备、正确的部署和测试,你可以成功地将自定义的 Python UDF 应用到 Apache IoTDB 中,为数据处理和分析提供更灵活和强大的支持。在实际操作过程中,要根据具体情况进行调整和优化,以确保实现最佳的效果。还可以结合具体的代码示例和实际部署经验,进一步深入了解和掌握这一过程。
33 2
|
2月前
|
分布式计算 大数据 分布式数据库
大数据-158 Apache Kylin 安装配置详解 集群模式启动(一)
大数据-158 Apache Kylin 安装配置详解 集群模式启动(一)
55 5
|
2月前
|
资源调度 大数据 分布式数据库
大数据-158 Apache Kylin 安装配置详解 集群模式启动(二)
大数据-158 Apache Kylin 安装配置详解 集群模式启动(二)
50 2
|
2月前
|
消息中间件 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
45 2
|
2月前
|
存储 消息中间件 druid
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
92 1
|
3月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
3月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1
|
1天前
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论

推荐镜像

更多