1、介绍
ZooKeeper是用Java编写的,运行在Java环境上,因此,在部署zookeeper的机器上需要安装Java运行环境。为了正常运行zk,我们需要JRE1.6或者以上的版本。
对于集群模式下的ZooKeeper部署,3个ZooKeeper服务进程是建议的最小进程数量,而且不同的服务进程建议部署在不同的物理机器上面,以减少机器宕机带来的风险,以实现ZooKeeper集群的高可用。
2、下载解压
1、在官网下载需要的zookeeper版本,我这里下载的是zookeeper-3.6.3
2、将下载后的包拷贝到Linux系统下
3、解压
tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/module/
4、修改文件名称
mv apache-zookeeper-3.6.3 -bin/
zookeeper-3.6.3
3.1、单机模式安装
(1、配置文件
1、进入zookeeper配置文件目录
cd /opt/module/zookeeper-3.6.3/conf
2、配置文件更名
mv zoo_sample.cfg zoo.cfg
3、修改数据存储路径
dataDir=/opt/module/zookeeper-3.6.3/zkData
4、返回zookeeper目录
cd /opt/module/zookeeper-3.6.3/
5、创建zkData目录
mkdir zkData
(2、启动zookeeper
1、启动zookeeper服务
bin/zkServer.sh start
2、查看进程是否启动
jps
如果有QuorumPeerMain进程说明启动成功
3、查看zookeeper运行状态
bin/zkServer.sh status
我这里是分布式集群,所以和单机模式显示不一样,只要不报错说明启动成功
4、启动客户端
bin/zkCli.sh
5、退出客户端
quit
3.2、分布式集群安装
(1、配置服务器编号
1、进入zookeeper安装目录
cd /opt/module/zookeeper-3.6.3
2、创建zkData目录
mkdir zkData
3、在zkData下创建一个myid文件,并写入1
这里的数字是zookeeper识别不同机器的id,每个机子的id唯一,且于下面配置文件相同
cd zkData
vi myid
4、将zookeeper拷贝到其他机器上
scp -r /opt/module/zookeeper-3.6.3 hadoop@hadoop103:/opt/module/zookeeper-3.6.3
scp -r /opt/module/zookeeper-3.6.3 hadoop@hadoop104:/opt/module/zookeeper-3.6.3
5、进入zookeeper配置文件目录
cd /opt/module/zookeeper-3.6.3/conf
6、修改id信息
进入每台服务器,将/opt/module/zookeeper-3.6.3/zkData/myid文件改为不同数值,例如我的三台服务器hadoop101,hadoop102,hadoop103的值分别是1,2,3
vim /opt/module/zookeeper-3.6.3/zkData/myid
7、配置文件更名
mv zoo_sample.cfg zoo.cfg
8、修改数据存储路径
vi zoo.cfg
dataDir=/opt/module/zookeeper-3.6.3/zkData
并在文件末尾增加如下
server.1=hadoop101:2888:3888
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
其中,server.A=B:C:D
A是zookeeper识别id,表示是第几号服务器这个id在每个服务器文件myid中
B是服务器的地址
C 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口;
D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
9、同步zoo.cfg文件
scp /opt/module/zookeeper-3.6.3/conf/zoo.cfg hadoop@hadoop103:/opt/module/zookeeper-3.6.3/conf/zoo.cfg
scp /opt/module/zookeeper-3.6.3/conf/zoo.cfg hadoop@hadoop104:/opt/module/zookeeper-3.6.3/conf/zoo.cfg
(2、启动集群
1、启动zookeeper服务
在所有机器上都要启动zookeeper服务(因为只有三台
cd /opt/module/zookeeper-3.6.3/
bin/zkServer.sh start
2、查看zookeeper运行状态
bin/zkServer.sh status