任务:Zookeeper完全分布式模式配置

任务: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的基本架构:

  作为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配置文件参数详解:
tickTime为心跳会话超时世间,毫秒单位,如果超过该时间心跳监测没有回应(ack),判定该节点已死。
initLimit zookeeper follow和leader进行数据同步容许的最大时长,更具业务需要可调整该参数。
syncLimit 容许zookeeper follow 数据落后leader的最大数据。
dataDir zookeeper存储内存数据快照的本地磁盘位置。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
或者
scp -r local_folder remote_ip:remote_folder
第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所示。

 

图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结果。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值