一、任务描述
本实验任务主要完成基于ubuntu环境的搭建Zookeeper伪集群模式的环境工作。通过完成本实验任务,要求学生熟练掌握搭建Zookeeper伪集群模式的环境的方法,为后续实验的开展奠定zookeeper平台基础,也为从事大数据平台运维工程师、大数据技术支持工程师等岗位工作奠定夯实的技能基础。
二、任务目标
1、掌握Zookeeper伪集群模式的环境搭建
三、任务环境
Ubuntu、Zookeeper3.4.5
四、任务分析
Apache Zookeeper 由 Apache Hadoop 的 Zookeeper 子项目发展而来,现已经成为 Apache 的顶级项目,它是一个开放源码的分布式应用程序协调服务,是Google Chubby的一个开源实现。它是一个为分布式应用提供一致性服务的组件,提供的功能包括:配置管理,名字服务,提供分布式同步、队列管理、集群管理等。
Zookpeeper的基本架构:
作为ZooKeeper架构的一部分的每个组件在下表中进行了说明:
我们的任务是:
1) 学会Zookeeper伪分布集群的配置。
五、 任务实施
♥ 温馨提示
zookeeper环境需要Java环境支持。
安装步骤:
vi /etc/profile
export JAVA_HOME=jdk路径 export PATH=$PATH:$JAVA_HOME/bin
保存后刷新文件,使之立刻生效
source /etc/profile
验证是否生效
java -version
步骤1、伪分布集群的配置
右击桌面上选择【Open Terminal Here】打开终端。
在弹出的终端中输入【cd /simple/soft】进入软件包的所在文件夹中,并通过【ls】查看文件夹下所有软件。如图1所示。
图1 查看软件包
使用命令【tar -zxvf zookeeper-3.4.6.tar.gz -C /simple】解压zookeeper到simple目录下。如图2所示。
图2 解压Zookeeper软件包
♥ 知识链接
相关命令简介
tar命令的参数含义:
name | Value |
x | 从 tar 包中把文件提取出来 |
z | 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压 |
v | 显示详细信息 |
f | xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz |
C | 指定解压到某个目录 |
使用【cd /simple】进入软件的所在文件夹中,并通过【ls】查看文件夹下所有软件,然后使用命令【mv zookeeper-3.4.6 zookeeper】重命名zookeeper。如图3所示。
图3 重命名zookeeper
进入到zookeeper目录下,命令【mkdir data_single】新建data_single文件夹, 在文件夹下使用命令【touch myid】新建myid文件,对文件进行编辑【echo 1 >> myid】。如图4所示。
图4 配置myid文件1
♥ 知识链接
myid文件作用
集群启动的时候会去zoo.cfg配置文件的dataDir目录下查找myid,检查编号是否一致。
相同的步骤在zookeeper目录下新建data_single_2文件夹,并在文件夹下新建myid文件,为myid文件赋值2。如图5所示。
图5 配置myid文件2
相同的步骤在zookeeper目录下新建data_single_3文件夹,并在文件夹下新建myid文件,为myid文件赋值3。如图6所示。
图6 配置myid文件3
进入到zookeeper/conf目录下,使用命令【cp zoo_sample.cfg zoo.cfg】复制zoo_sample.cfg文件并改名zoo.cfg。如图7所示。
图7 生成zoo.cfg文件
由于是伪分布式部署。就是在一台服务器上面启动多个zookeeper实例,模拟组成集群。所以上面zoo.cfg配置要注意,例如你模拟3台机器,你就需要配置3个zoo.cfg文件,名称可以任意,下面启动zookeeper实例的时候你指定使用的配置文件即可。注意伪分布的时候clientPort需要不同,使用命令【vi zoo.cfg】进行zoo.cfg配置文件修改,设置伪集群配置参数,添加伪集群配置。如图8所示。
图8 配置zoo.cfg文件
♥ 知识链接
zookeeper伪分布式集群
关于为何zookeeper集群集群必须至少3个节点机器的原因,是因为zookeeper集群提供服务的机制决定的。zookeeper集群认为超多半数集群内部机器正常,就认为集群是正常的,可对外提供协调服务。
命令【cp zoo.cfg zk2.cfg】复制配置文件zoo.cfg为zk2.cfg并修改端口为2182,如图9所示。
图9 配置zk2.cfg文件
命令【cp zoo.cfg zk3.cfg】复制配置文件zoo.cfg为zk3.cfg并修改端口为2183,如图10所示。
图10 配置zk3.cfg文件
步骤2、启动Zookeeper集群
进入到zookeeper bin文件下,通过命令【./zkServer.sh start】来启动服务。如图11所示。
图11 启动Zookeeper集群
同理启动zk2.cfg zk3.cfg配置的服务器,利用jps查看,会发现3个QuorumPeerMain进程。如图12所示。