Hadoop之Zookeeper安装

实验目的要求

1、完成Zookeeper的完全分布模式的安装
2、Zookeeper服务能够正常启动和连接
3、Zookeeper控制台能够正常进入
4、Zookeeper控制台命令能够正常使用

实验环境

1、五台独立PC机或虚拟机
2、主机之间有有效的网络连接
3、每台主机内存2G以上,磁盘剩余空间500M以上
4、所有主机已安装CentOS 7.4操作系统
5、所有主机已完成网络属性配置
6、所有主机已安装JDK

软件版本

选用Zookeeper的3.4.9版本,软件包名为zookeeper-3.4.9.tar.gz

集群规划

Zookeeper采用的投票算法要求其至少有3个以上的服务节点,且服务节点数总数为奇数时为最有效的配置,所以将集群的五台主机全部作为服务节点,具体规划如下:

zookeeper安装目录 zookeeper安装实验报告_hadoop

实验步骤

1、 Zookeeper基本安装配置

*该项所有操作步骤使用专门用于集群的用户admin进行
*此项只在一台主机操作,然后在下一步骤进行同步安装于配置。

1.1上传Zookeeper软件包“zoookeeper-3.4.9.tar.gz”到用户家目录的“setups”目录下。然后进行解压和环境变量设置。

zookeeper安装目录 zookeeper安装实验报告_zookeeper_02

1.2创建用于存放Zookeeper相关文件的目录并且进入该目录将软件包解压

zookeeper安装目录 zookeeper安装实验报告_hadoop_03

1.3配置Zookeeper的相关环境变量

zookeeper安装目录 zookeeper安装实验报告_大数据_04

1.4使新配置的环境变量立即生效,查看新添加和修改的环境变量是否设置成功,以及环境变量的值是否正确

zookeeper安装目录 zookeeper安装实验报告_hadoop_05

2、Zookeeper完全分布模式配置

*该项的所有操作步骤使用专门用于集群的用户admin进行

2.1进入Zookeeper相关文件的目录,分别创建用于存放数据的文件的目录“data”和用于存放日志文件的目录“logs”

zookeeper安装目录 zookeeper安装实验报告_zookeeper_06

2.2进入Zookeeper的配置文件所在目录,拷贝生成Zookeeper的配置文件。

zookeeper安装目录 zookeeper安装实验报告_环境变量_07

2.3对配置文件进行修改。
$vi zoo.cfg

*以下配置项若已经存在则修改其对应值,若不存在则在配置文件末尾进行添加:

zookeeper安装目录 zookeeper安装实验报告_环境变量_08

3、同步安装和配置

*该项的所有操作步骤使用专门用于集群的用户admin进行

3.1将“zookeeper”目录和“.bash_profile”文件发给集群中所有主机,发送目标用户为集群专用用户admin,发送目标路径为“/home/admin”,即集群专用用户admin的家目录。然后每台执行source ~/.bash_profile使环境变量生效。

zookeeper安装目录 zookeeper安装实验报告_zookeeper安装目录_09

zookeeper安装目录 zookeeper安装实验报告_环境变量_10


zookeeper安装目录 zookeeper安装实验报告_zookeeper_11


zookeeper安装目录 zookeeper安装实验报告_环境变量_12

3.2在每台主机或虚拟机上,使用命令“echo $ZOOKEEPER_HOME”、“echo $PATH”查看新添加和修改的环境变量是否设置成功,以及环境变量的值是否正确。
#echo $ZOOKEEPER_HOME
#echo $PATH

zookeeper安装目录 zookeeper安装实验报告_hadoop_13


zookeeper安装目录 zookeeper安装实验报告_hadoop_14


zookeeper安装目录 zookeeper安装实验报告_hadoop_15


zookeeper安装目录 zookeeper安装实验报告_环境变量_16

4、配置Zookeeper节点标识文件

*该项的所有操作步骤使用专门用于集群的用户admin进行

4.1在集群中所有主机上使用命令创建Zookeeper的节点标识文件,其中“”为节点的编号,与配置文件server.=Cluster-01:2888:3888中的“server.”中的“”对应
$echo ‘1’ > ~/zookeeper/data/myid

zookeeper安装目录 zookeeper安装实验报告_大数据_17


zookeeper安装目录 zookeeper安装实验报告_环境变量_18


zookeeper安装目录 zookeeper安装实验报告_zookeeper_19


zookeeper安装目录 zookeeper安装实验报告_hadoop_20


zookeeper安装目录 zookeeper安装实验报告_zookeeper安装目录_21

5、Zookeeper完全分布模式启动和验证

*该项的所有操作步骤使用专门用于集群的用户admin进行

5.1操作前,先关闭防火墙(root用户下)

zookeeper安装目录 zookeeper安装实验报告_环境变量_22

5.2在集群中所有主机上启动Zookeeper服务的脚本,若启动过程中没有报错,并且显示“STARTED”则标识启动成功
$./zkServer.sh start

zookeeper安装目录 zookeeper安装实验报告_zookeeper安装目录_23


zookeeper安装目录 zookeeper安装实验报告_环境变量_24


zookeeper安装目录 zookeeper安装实验报告_zookeeper_25


zookeeper安装目录 zookeeper安装实验报告_zookeeper_26


zookeeper安装目录 zookeeper安装实验报告_zookeeper安装目录_27

5.3在集群中所有主机上查看java进程信息,若存在一个名为“QuorumPeerMain”的进程,则表示Zookeeper服务启动成功。
$jps

zookeeper安装目录 zookeeper安装实验报告_zookeeper_28


zookeeper安装目录 zookeeper安装实验报告_zookeeper安装目录_29


zookeeper安装目录 zookeeper安装实验报告_zookeeper安装目录_30


zookeeper安装目录 zookeeper安装实验报告_大数据_31


zookeeper安装目录 zookeeper安装实验报告_hadoop_32

5.4在集群服务中所有主机上查看该节点Zookeeper服务当前的状态,若集群中只有一个“leader”节点,其余的均为“follower”节点,则集群的工作状态正常。防火墙必须关闭。如果防火墙未关闭,状态是Error contacting server.It is probably not running.。
$./zkServer.sh status

zookeeper安装目录 zookeeper安装实验报告_zookeeper安装目录_33


zookeeper安装目录 zookeeper安装实验报告_zookeeper安装目录_34


zookeeper安装目录 zookeeper安装实验报告_zookeeper安装目录_35


zookeeper安装目录 zookeeper安装实验报告_zookeeper安装目录_36


zookeeper安装目录 zookeeper安装实验报告_大数据_37

5.5利用Zookeeper的命令行工具连接Zookeeper集群,其中“*”为集群中节点的编号,可以选择连接集群中的任意一个节点,若显示“CONNECTED”则表示连接正常,命令行工具可以正常使用,在命令行工具中使用命令“quit”可以退出工具程序。
$zkcli.sh -server Cluster-02:2181

zookeeper安装目录 zookeeper安装实验报告_环境变量_38

出现的问题与解决方案

出现的问题:在启动zookeeper服务的脚本的时候,显示未找到该命令,
解决方案:经过上网搜索找到原因,是因为执行命令的路径错误,然后找到正确的zkServer.sh文件路径,执行命令./zkServer.sh start之后zookeeper服务的脚本启动成功。