Zookeeper完全分布式模式配置

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 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

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
2月前
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2
|
18天前
|
监控
Saga模式在分布式系统中保证事务的隔离性
Saga模式在分布式系统中保证事务的隔离性
|
1月前
|
消息中间件 监控 Ubuntu
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
76 3
大数据-54 Kafka 安装配置 环境变量配置 启动服务 Ubuntu配置 ZooKeeper
|
1月前
|
存储 缓存 NoSQL
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
大数据-38 Redis 高并发下的分布式缓存 Redis简介 缓存场景 读写模式 旁路模式 穿透模式 缓存模式 基本概念等
62 4
|
1月前
|
分布式计算 NoSQL Java
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
43 2
|
1月前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
47 1
|
2月前
Saga模式在分布式系统中如何保证事务的隔离性
Saga模式在分布式系统中如何保证事务的隔离性
|
2月前
|
Java 网络安全
zookeeper的环境搭建和配置
本文介绍了如何在多台节点上搭建和配置Zookeeper环境。内容包括Zookeeper的下载、解压、环境变量配置、配置文件修改、zkdata目录创建、myid文件设置,以及将Zookeeper及其配置文件复制到其他节点。还提供了运行测试的命令,包括启动、状态检查和停止Zookeeper服务。
zookeeper的环境搭建和配置
|
1月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
47 0
|
2月前
|
负载均衡 Java 应用服务中间件
微服务分布式系统架构之zookeeper与dubbor-1
微服务分布式系统架构之zookeeper与dubbor-1