Zookeeper完全分布式模式配置

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,182元/月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
云原生网关 MSE Higress,422元/月
简介: Zookeeper完全分布式模式配置

一、任务描述

本实验任务主要完成基于ubuntu环境的搭建Zookeeper完全分布式模式配置工作。通过完成本实验任务,要求学生熟练掌握Zookeeper完全分布式模式配置的方法,为后续实验的开展奠定zookeeper平台基础,也为从事大数据平台运维工程师、大数据技术支持工程师等岗位工作奠定夯实的技能基础。


二、任务目标

1、掌握Zookeeper完全分布式模式的环境搭建


三、任务环境

Ubuntu(三台节点:mater:192.168.0.3,slave1:192.168.0.2,slave2:192.168.0.4)、Zookeeper3.4.5


四、任务分析

Apache Zookeeper 由 Apache Hadoop 的 Zookeeper 子项目发展而来,现已经成为 Apache 的顶级项目,它是一个开放源码的分布式应用程序协调服务,是Google Chubby的一个开源实现。它是一个为分布式应用提供一致性服务的组件,提供的功能包括:配置管理,名字服务,提供分布式同步、队列管理、集群管理等。

 Zookpeeper的基本架构:

524f13a448ea4c5993200505ce814f96.png


作为ZooKeeper架构的一部分的每个组件在下表中进行了说明:

0db63cbb4de4490fa85059843e0866d6.png


我们的任务是:

   1) 学会Zookeeper完全分布式集群的配置。

   2) 学会Zookeeper基本的服务端操作命令。


五、 任务实施

步骤1、完全分布式集群的配置

在主节点上右击桌面上选择【Open in Terminal】打开终端。

 在弹出的终端中输入【cd /simple/soft】进入软件包的所在文件夹中,并通过【ls】查看文件夹下所有软件。如图1所示。

2726aa38c93f4c6880ca559eed958ee1.png


图1 查看软件包

 使用命令【tar -zxvf zookeeper-3.4.6.tar.gz -C /simple】解压zookeeper到simple目录下。如图2所示。


ae49daf77f06464d90053b1a6825c004.jpg


图2 解压Zookeeper软件包

 使用【cd /simple】进入软件的所在文件夹中,使用命令【mv zookeeper-3.4.6 zookeeper】重命名为zookeeper。如图3所示。


fe2cd3b807814397a20c10499fed295e.jpg


图3 重命名zookeeper

 进入到zookeeper/conf目录下,使用命令【cp zoo_sample.cfg zoo.cfg】复制zoo_sample.cfg文件并改名zoo.cfg。如图4所示。


9dc626dcdf3d401c972a36b7f8b96a5d.png


图4 生成zoo.cfg文件

 使用命令【vi zoo.cfg】进行zoo.cfg配置文件修改,设置集群配置参数,添加集群配置。如图5所示。


5f70cdb77d834736b58aa44c3daaa927.jpg


图5 配置zoo.cfg文件


♥ 温馨提示

zoo.cfg配置文件参数详解:

image.png

在zookeeper/目录下新建zk_data文件夹,并在此zk_data/目录下新建myid文件。如图6所示。

fdeb5e2849a44a3f80f2ecea5db8fe4b.png



图6 创建myid文件


♥ 知识链接

myid文件作用


集群启动的时候会去zoo.cfg配置文件的dataDir目录下查找myid,检查编号是否一致。

 将zookeeper分发到其他两个节点的/simple目录下。如图7-8所示。

1436c3b0b87e44efb7fd423fd1398a17.jpg



图7 分发Zookeeper到slave1


ed38225c1b8748fabfd01985e2d85d38.jpg


图8 分发Zookeeper到slave2


♥ 知识链接

Linux scp命令用于Linux之间复制文件和目录。

scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

复制目录命令格式:

scp -r local_folder remote_username@remote_ip:remote_folder

或者

scp -r local_folder remote_ip:remote_folder

ed38225c1b8748fabfd01985e2d85d38.jpg1436c3b0b87e44efb7fd423fd1398a17.jpg第1个指定了用户名,命令执行后需要再输入密码;

第2个没有指定用户名,命令执行后需要输入用户名和密码;

应用实例:

scp -r /home/space/music/ root@slave1:/home/root/others/


scp -r /home/space/music/ slave2:/home/root/others/

上面命令将本地 music 目录复制到远程 others 目录下。

 在主节点zookeeper文件夹zk_data/下,对myid文件进行编译【echo 1 >> myid】。如图9所示。

549a472d6eb04443829c9e8b5c82bb8c.png



图9 配置主节点myid文件

 相同的步骤在第二个节点,为myid文件赋值2。如图10所示。


5a41de9812ae4f05af2e532783222a27.png


图10 配置slave1节点myid文件

 相同的步骤在第三个节点,为myid文件赋值3。如图11所示。


8664ce5ed2ae4a41bf634f89e6457667.png


图11 配置myid文件3


步骤2、启动Zookeeper集群

分别进入三个节点到zookeeper bin文件下,通过命令【./zkServer.sh start】来启动服务。如图12-14所示。


e2f9c54b4c0d4ffb9537159f0634c114.png


图12 启动Zookeeper集群

046e87174b7b441c84e484d5e96a504f.png



图13 启动Zookeeper集群

88f6b5bb17ca4633ae9e895150a1e02e.png

图14 启动Zookeeper集群

 在三台节点上利用【./zkServer.sh status】查看Zookeeper节点状态。如图15-17所示。


3b0a35a1a6324559bebaca00e69d417d.png


图15 master查看Zookeeper节点状态


e7839b550dbb4aeabc229b69089dd618.png


图16 slave1查看Zookeeper节点状态


9bcc7d8228ad4844bb7910beb9d7b22e.png


图17 slave2查看Zookeeper节点状态


♥ 温馨提示


Zookeeper工作流程-Leader

1 .恢复数据;

2 .维持与Learner的心跳,接收Learner请求并判断Learner的请求消息类型;

3 .Learner的消息类型主要有PING消息、REQUEST消息、ACK消息、REVALIDATE消息,根据不同的消息类型,进行不同的处理。


Zookeeper工作流程-Follower

1.向Leader发送请求(PING消息、REQUEST消息、ACK消息、REVALIDATE消息);

2.接收Leader消息并进行处理;

3.接收Client的请求,如果为写请求,发送给Leader进行投票;

4.返回Client结果。


2b5f8e97099349e6a234c7bd69fc9840.png

相关文章
|
2月前
|
机器学习/深度学习 监控 算法
分布式光伏储能系统的优化配置方法(Matlab代码实现)
分布式光伏储能系统的优化配置方法(Matlab代码实现)
120 1
|
1月前
|
编解码 运维 算法
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
【分布式能源选址与定容】光伏、储能双层优化配置接入配电网研究(Matlab代码实现)
141 12
|
25天前
|
消息中间件 分布式计算 资源调度
《聊聊分布式》ZooKeeper与ZAB协议:分布式协调的核心引擎
ZooKeeper是一个开源的分布式协调服务,基于ZAB协议实现数据一致性,提供分布式锁、配置管理、领导者选举等核心功能,具有高可用、强一致和简单易用的特点,广泛应用于Kafka、Hadoop等大型分布式系统中。
|
7月前
|
安全 网络安全 数据库
YashanDB分布式节点间SSL连接配置
本文介绍YashanDB分布式节点间SSL连接配置方法,确保通信安全。需统一为整个集群配置SSL,使用相同根证书签名的服务器证书,否则可能导致连接失败或数据库无法启动。文章详细说明了使用OpenSSL生成根证书、服务器私钥、证书及DH文件的步骤,并指导如何将证书分发至各节点。最后,通过配置数据库参数(如`din_ssl_enable`)并重启集群完成设置。注意,证书过期需重新生成以保障安全性。
|
12月前
|
数据库
如何在Seata框架中配置分布式事务的隔离级别?
总的来说,配置分布式事务的隔离级别是实现分布式事务管理的重要环节之一,需要认真对待和仔细调整,以满足业务的需求和性能要求。你还可以进一步深入研究和实践 Seata 框架的配置和使用,以更好地应对各种分布式事务场景的挑战。
383 63
|
9月前
|
SQL 数据建模 BI
【YashanDB 知识库】用 yasldr 配置 Bulkload 模式作单线程迁移 300G 的业务数据到分布式数据库,迁移任务频繁出错
问题描述 详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237 影响范围: 离线数据迁移场景,影响业务数据入库。 外场将部分 NewCIS 的报表业务放到分布式数据库,验证 SQL 性能水平。 操作系统环境配置: 125G 内存 32C CPU 2T 的 HDD 磁盘 问题出现的步骤/操作: 1、部署崖山分布式数据库 1mm 1cn 3dn 单线启动 yasldr 数据迁移任务,设置 32 线程的 bulk load 模式 2、观察 yasldr.log 是否出现如下错
|
11月前
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
10月前
|
消息中间件 负载均衡 Java
如何设计一个分布式配置中心?
这篇文章介绍了分布式配置中心的概念、实现原理及其在实际应用中的重要性。首先通过一个面试场景引出配置中心的设计问题,接着详细解释了为什么需要分布式配置中心,尤其是在分布式系统中统一管理配置文件的必要性。文章重点分析了Apollo这一开源配置管理中心的工作原理,包括其基础模型、架构模块以及配置发布后实时生效的设计。此外,还介绍了客户端与服务端之间的交互机制,如长轮询(Http Long Polling)和定时拉取配置的fallback机制。最后,结合实际工作经验,分享了配置中心在解决多台服务器配置同步问题上的优势,帮助读者更好地理解其应用场景和价值。
534 18
|
12月前
|
存储 运维 NoSQL
分布式读写锁的奥义:上古世代 ZooKeeper 的进击
本文作者将介绍女娲对社区 ZooKeeper 在分布式读写锁实践细节上的思考,希望帮助大家理解分布式读写锁背后的原理。
307 11

热门文章

最新文章