当前位置:   article > 正文

Zookeeper完全分布式模式配置

zookeeper完全分布式模式配置


原创申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址
全文共计4753字,阅读大概需要3分钟
欢迎关注我的个人公众号:不懂开发的程序猿

一、任务描述

本实验任务主要完成基于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的基本架构:
在这里插入图片描述

作为ZooKeeper架构的一部分的每个组件在下表中进行了说明:
在这里插入图片描述

我们的任务是:
    1) 学会Zookeeper完全分布式集群的配置。
    2) 学会Zookeeper基本的服务端操作命令。

五、 任务实施

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

在主节点上右击桌面上选择【Open in Terminal】打开终端。
  在弹出的终端中输入【cd /simple/soft】进入软件包的所在文件夹中,并通过【ls】查看文件夹下所有软件。如图1所示。
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

图5 配置zoo.cfg文件

♥ 温馨提示
zoo.cfg配置文件参数详解:

项目Value
tickTime为心跳会话超时世间,毫秒单位,如果超过该时间心跳监测没有回应(ack),判定该节点已死。
initLimit zookeeperfollow和leader进行数据同步容许的最大时长,更具业务需要可调整该参数。
syncLimit容许zookeeper follow 数据落后leader的最大数据。
dataDirzookeeper存储内存数据快照的本地磁盘位置。zookeeper在运行期间会将数据存储在内存中,保证了访问的时效性。
clientPort监听客户端连接的端口;也即开放给客户连接的端口。
dataLogDir配置zookeeper存储事务日志的地方,不配置默认使用dataDir配置。目的是为了将事务日志和内存数据镜像分开存储。
server.x用户配置zookeeper集群服务器主机列表配置。配置规则server.x=[hostname]:nnnnn[:nnnnn], etc.第一个参数为机器主机名,后面两个为机器端口参数,例如2888用于和leader的通讯,3888为用于集群leader的选举。注意x为集群中该机器的编号(集群中唯一),该配置需要和dataDir目录下文件myid中的内容一致,为数字。

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

在这里插入图片描述

图6 创建myid文件

♥ 知识链接
myid文件作用

集群启动的时候会去zoo.cfg配置文件的dataDir目录下查找myid,检查编号是否一致。
  将zookeeper分发到其他两个节点的/simple目录下。如图7-8所示。

在这里插入图片描述

图7 分发Zookeeper到slave1

在这里插入图片描述

图8 分发Zookeeper到slave2

♥ 知识链接
Linux scp命令用于Linux之间复制文件和目录。
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。
复制目录命令格式:

scp -r local_folder remote_username@remote_ip:remote_folder
  • 1

或者

scp -r local_folder remote_ip:remote_folder
  • 1

第1个指定了用户名,命令执行后需要再输入密码;
第2个没有指定用户名,命令执行后需要输入用户名和密码;
应用实例:

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

上面命令将本地 music 目录复制到远程 others 目录下。
  在主节点zookeeper文件夹zk_data/下,对myid文件进行编译【echo 1 >> myid】。如图9所示。

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

图11 配置myid文件3

步骤2、启动Zookeeper集群

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

在这里插入图片描述

图12 启动Zookeeper集群

在这里插入图片描述

图13 启动Zookeeper集群

在这里插入图片描述

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

在这里插入图片描述

图15 master查看Zookeeper节点状态

在这里插入图片描述

图16 slave1查看Zookeeper节点状态

在这里插入图片描述

图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结果。

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/459034
推荐阅读
相关标签
  

闽ICP备14008679号