前言

ZooKeeper是一个开放源代码的分布式协调服务,由知名互联网公司雅虎创建,是Google Chubby的开源实现。ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致***封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。

ZooKeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。ZooKeeper可以保证如下分布式一致性特性。
今天我们来看看如何分布式安装

Zookeeper分布式集群部署

下载Zookeeper

这里可以参考官网,下载需要的版本:
https://zookeeper.apache.org/

解压Zookeeper到我们指定的目录

[root@bigdata107 software]#  tar -zxvf zookeeper-3.4.10 -C /opt/module/

修改配置文件

1.修改zoo_sample.cfg zoo.cfg 为zoo.cfg

[root@bigdata107 software]#  mv zoo_sample.cfg zoo.cfg zoo.cfg

2.修改配置文件

[root@bigdata107 software]# vi zoo.cfg
#数据目录需要提前创建

dataDir=/opt/module/zookeeper-3.4.5-cdh5.10.0/zkData
#server.每个节点服务编号=服务器ip地址:集群通信端口:选举端口
server.1=bigdata107 :2888:3888
server.2=bigdata108 :2888:3888
server.3=bigdata109 :2888:3888

3.分发到各个节点

[root@bigdata107 software]#   scp -r zookeeper-3.4.10/ bigdata108:/opt/module/
[root@bigdata107 software]#  scp -r zookeeper-3.4.10/ bigdata109:/opt/module/

4.创建相关目录

[root@bigdata107 zookeeper-3.4.10]# mkdir zkData

5.在各个节点zkData目录下,创建myid

#bigdata107 节点
[root@bigdata107 zookeeper-3.4.10]# touch myid
[root@bigdata107 zookeeper-3.4.10]# vi myid
1
#bigdata108 节点
[root@bigdata108 zookeeper-3.4.10]# touch myid
[root@bigdata108 zookeeper-3.4.10]# vi myid
2

#bigdata109 节点
[root@bigdata109 zookeeper-3.4.10]# touch myid
[root@bigdata109 zookeeper-3.4.10]# vi myid
3

6.启动Zookeeper服务

#启动Zookeeper服务
[root@bigdata107 zookeeper-3.4.10]# bin/zkServer.sh start
#查看各个节点服务状态 
[root@bigdata107 zookeeper-3.4.10]# bin/zkServer.sh status
#关闭各个节点服务
[root@bigdata107 zookeeper-3.4.10]# bin/zkServer.sh stop