ZooKeeper
是一个分布式的,开放源码的分布式应用程序协调服务,是Hadoop
和Hbase
的重要组件。
它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
除了为Hadoop
和HBase
提供协调服务外,Zookeeper
也被其它许多软件采用作为其分布式状态一致性的依赖,比如Kafka
,又或者一些软件项目中,也经常能见到Zookeeper
作为一致性协调服务存在。
Zookeeper
不论是大数据领域亦或是其它服务器开发领域,涉及到 分布式状态一致性 的场景,总有它的身影存在。
Zookeeper
是一款分布式的集群化软件,可以在多台服务器上部署,并协同组成分布式集群一起工作。1、前提,要确保已经完成了 集群化环境前置准备 环节的全部内容
2、【node1
上操作】 下载Zookeeper
安装包,并解压
#下载:
wget http://archive.apache.org/dist/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz
# 确保如下目录存在,不存在就创建,如果前面是跟着我的教程,是已经存在了!!!
mkdir -p /export/server
# 解压
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /export/server
3、【node1上操作】 创建软链接
ln -s /export/server/apache-zookeeper-3.5.9-bin /export/server/zookeeper
4、【node1上操作】 修改配置文件
先进入/export/server/zookeeper/conf/
,需要先改个名:
vim zoo.cfg
tickTime=2000
# zookeeper数据存储目录
dataDir=/export/server/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
保存退出!
5、【node1上操作】 配置myid
# 1. 创建Zookeeper的数据目录
mkdir /export/server/zookeeper/data
# 2. 创建文件,并填入1
vim /export/server/zookeeper/data/myid
# 在文件内填入1即可
保存退出!
6、【在node2和node3上操作】 ,创建文件夹
mkdir -p /export/server
7、【node1上操作】 将 Zookeeper
复制到 node2
和 node3
cd /export/server
scp -r apache-zookeeper-3.5.9-bin node2:`pwd`/
scp -r apache-zookeeper-3.5.9-bin node3:`pwd`/
8、【node2上操作】
# 1. 创建软链接
ln -s /export/server/apache-zookeeper-3.5.9-bin /export/server/zookeeper
# 2. 修改myid文件
vim /export/server/zookeeper/data/myid
# 修改内容为2
修改完保存退出,查看内容:
cat myid
9、【node3上操作】
# 1. 创建软链接
ln -s /export/server/apache-zookeeper-3.5.9-bin /export/server/zookeeper
# 2. 修改myid文件
vim /export/server/zookeeper/data/myid
# 修改内容为3
1、【在node1、node2、node3上分别执行】 启动 Zookeeper
# 启动命令
/export/server/zookeeper/bin/zkServer.sh start
# 启动Zookeeper
2、【在node1、node2、node3上分别执行】 检查Zookeeper
进程是否启动
jps
# 结果中找到有:QuorumPeerMain 进程即可
3、【node1上操作】 验证Zookeeper
/export/server/zookeeper/bin/zkCli.sh
# 进入到Zookeeper控制台中后,执行
ls /
# 如无报错即配置成功,且能看到 [zookeeper]