**
Zookeeper 集群建设
**
实验原理:
ZooKeeper分布式服务框架是 Apache Hadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,例如,统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
ZooKeeper是以 Fast Paxos算法为基础的。
ZooKeeper集群的初始化过程:集群中所有机器以投票的方式(少数服从多数)选取某一台机器作为 leader(领导者),其余机器作为 follower(追随者)。如果集群中只有1台机器,那么就这台机器就是 leader,没有 follower。
ZooKeeper集群与客户端的交互:客户端可以在任意情况下、 ZooKeeper集群中任意一台机器上进行读操作;但是写操作必须得到 leader的同意后才能执行。
ZooKeeper选取 leader的核心算法思想:如果某服务器获得N/2+1票,则该服务器成为 leader,其中N为集群中机器数量。为了避免岀现两台服务器获得相同票数(N/2),应该确保N为奇数,因此构建 ZooKeeper集群最少需要3台机器。
**
Zookeeper集群搭建
**
14.4.1 Zookeeper安装模式
ZooKeeper的安装模式分为三种,分别为:单机模式、伪分布式集群模式、分布式集群模式。
单机模式:Zookeeper只运行在一台服务器上,适合测试环境。
伪分布式集群模式:就是在一台服务器上运行多个Zookeeper 实例。
分布式集群模式:一个集群有多个Linux虚拟机组成,Zookeeper运行于一个集群上,适合生产环境。
在一台电脑上安装VMWare Workstation。在VM上安装三台Linux,分别是1个主节点,2个从节点,如下图所示。
节点类型 IP地址 主机名
NameNode 192.168.86.150 master
DataNode 192.168.86.160 slave1
DataNode 192.168.86.170 slave2
注意:这3个节点的IP地址在实际搭建时会有所不同。
14.4.2搭建步骤
(1)在master上启动 Linux命令终端,创建目录mkdir /usr/zookeeper,执行命令cd /usr/zookeeper,切换到该目录下,把zookeeper文件上传到该目录下,如图所示。
(2)Zookeeper压缩文件zookeeper -3.4.12.tar.gz进行解压缩。
tar -zxvf zookeeper-3.4.12.tar.gz -C /usr/zookeeper
-C是指解压压缩包到指定位置
(3)在/usr/zookeeper/zookeeper-3.4.12目录下新建data,logs两个文件夹。
mkdir /usr/zookeeper/zookeeper-3.4.12/data
mkdir /usr/zookeeper/zookeeper-3.4.12/logs
(4)进入