Hadoop HA高可用集群的配置-Zookeeper的安装
目录
项目二:Zookeeper完全分布模式配置(在admin用户下进行)
项目四:配置Zookeeper 节点标识文件(在admin)用户下进行
项目五:Zookeeper完全分布模式启动和验证(所有主机的admin用户下进行)
一、目的及要求:
实验目的:
掌握完全分布模式的整合平台中 Zookeeper的完全分布模式的安装和验证
实验要求:
- 完成 Zookeeper的完全分布模式的安装
- Zookeeper服务能够正常启动和连接
- Zookeeper控制台能够正常进入
- Zookeeper控制台命令能够正常使用
- 五台独立的虚拟机
- 主机之间有有效的网络连接,并已完成网络属性配置
- 每台主机内存2G以上,磁盘50G
- 所有主机上已安装Centos 7.4_64操作系统
- 所有主机已安装JDK
二、环境要求:
集群规则:至少有3个以上服务节点,且服务节点总数为奇数时为最有效的配置
主机1 192.168.10.111 Cluster-01
主机2 192.168.10.112 Cluster-02
主机3 192.168.10.113 Cluster-03
主机4 192.168.10.114 Cluster-04
主机5 192.168.10.115 Cluster-05
以上主机均为Zookeeper服务
软件版本:选用Zookeeper的3.4.9版本,软件包名为Zookeeper-3.4.9.tar.gz
三、操作步骤:
项目一:Zookeeper的基本安装配置
- 该项操作在专门用于集群的用户admin下进行
- 此项只在一台主机主机操作,然后同步安装和配置给其他主机
1:创建存放Zookeeper相关文件的目录,并把软件包解压到该目录下
2:进入 .bash_profile文件配置Zookeeper相关的环境变量。
3:使新配置的环境变量生效,查看环境变量是否设置成功,以及环境变量值是否正确。
项目二:Zookeeper完全分布模式配置(在admin用户下进行)
1:在Zookeeper目录下创建存放数据文件的data目录和存放日志文件的logs目录,进入配置文件所在目录,拷贝生成Zookeeper的配置文件。
2:进入zoo.cfg修改配置文件
项目三:同步安装和配置
1:将Zookeeper目录和.bash_profile发送给集群中的其他主机
2:在每台主机上生效新配置的环境变量,并查看新添加和修改的环境变量是否设置成功,以及环境变量的值是否正确。
Cluster-02
Cluster-03
Cluster-04
Cluster-05
项目四:配置Zookeeper 节点标识文件(在admin)用户下进行
1:在所有主机上创建Zookeeper的节点标识文件
Cluster-01
Cluster-02
Cluster-03
Cluster-04
Cluster-05
项目五:Zookeeper完全分布模式启动和验证(所有主机的admin用户下进行)
1:关闭防火墙
Cluster-01
Cluster-02
Cluster-03
Cluster-04
Cluster-05
2:启动Zookeeper服务的脚本,显示“STARTED”则表示启动成功。
Cluster-01
Cluster-02
Cluster-03
Cluster-04
Cluster-05
3:查看Java进程信息,有一个名为QuorumPeerMain的进程则Zookeeper服务启动成功。
Cluster-01
Cluster-02
Cluster-03
Cluster-04
Cluster-05
4:查看该节点Zookeeper服务当前的状态,若集群中有一个leader节点,其余均为follower节点,则集群的工作状态正常。
Cluster-01
Cluster-02
Cluster-03
Cluster-04
Cluster-05
5:连接Zookeeper集群,显示CONNECTED则表示连接正常
四、可能会遇到的问题:
1、Zookeeper启动报错,状态查看不正常。
解决方法:检查五个虚拟机是否同时启动,经过检查,由于疏忽没有同时开启五个虚拟机。开启后正常运行。
2、在容错能力相同的情况下,奇数台更节省资源。leader选举,要求可用节点数量 > 总节点数量/2 。
举两个例子:
- 假如zookeeper集群1 ,有3个节点,3/2=1.5 , 即zookeeper想要正常对外提供服务(即leader选举成功),至少需要2个节点是正常的。换句话说,3个节点的zookeeper集群,允许有一个节点宕机。
- 假如zookeeper集群2,有4个节点,4/2=2 , 即zookeeper想要正常对外提供服务(即leader选举成功),至少需要3个节点是正常的。换句话说,4个节点的zookeeper集群,也允许有一个节点宕机。那么问题就来了, 集群1与集群2都有允许1个节点宕机的容错能力,但是集群2比集群1多了1个节点。在相同容错能力的情况下,本着节约资源的原则,zookeeper集群的节点数维持奇数个更好一些。