一、环境说明
- zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等
- CentOS 6.6
- zookeeper-3.4.8.tar.gz
- 集群环境
master.hdp.imdst.com NameNode SecondaryNameNode
1.slave.hdp.imdst.com DataNode
2.slave.hdp.imdst.com DataNode
二、部署
- JAVA 详见集群部署文档
- 解压
tar zxf zookeeper-3.4.8.tar.gz -C /home/hadoop/src/
chown hadoop.hadoop /home/hadoop/ -R
- 修改配置文件zoo.cfg
su hadoop
cd src/zookeeper-3.4.8/conf
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
----------------------------------------------------
# Zookeeper 服务器之间维持心跳的时间间隔,毫秒为单位
tickTime=2000
initLimit=10
syncLimit=5
# 数据存放目录
dataDir=/home/hadoop/src/zookeeper-3.4.8/tmp
# 日志存放目录
dataLogDir=/data/zookeeper/logs
clientPort=2181
maxClientCnxns=500
server.0=master.hdp.imdst.com:2888:3888
server.1=1.slave.hdp.imdst.com:2888:3888
server.2=2.slave.hdp.imdst.com:2888:3888
----------------------------------------------------
echo "0" > /home/hadoop/src/zookeeper-3.4.8/tmp/myid
- 将配置好的zookeeper部署至另外两个节点DataNode
su hadoop
cd src/
scp -r zookeeper-3.4.8 1.slave.hdp.imdst.com:/home/hadoop/src
scp -r zookeeper-3.4.8 2.slave.hdp.imdst.com:/home/hadoop/src
- 启动zookeeper集群
cd src/zookeeper-3.4.8/bin
# 启动
./zkServer.sh start
# 关闭
./zkServer.sh stop
# 查看启动状态
sh zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /home/hadoop/src/zookeeper-3.4.8/bin/../conf/zoo.cfg
Mode: follower
三、命令行工具的一些简单操作
- zkCli.sh
./zkCli.sh
[zk: localhost:2181(CONNECTED) 0]
* 使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
[zk: localhost:2181(CONNECTED) 1] ls /
[zookeeper]
- 创建一个新的 znode ,使用 create /zk mytest。这个命令创建了一个新的 mytest节点“ zk ”以及与它关联的字符串:
[zk: localhost:2181(CONNECTED) 2] create /zk mytest
Created /zk
[zk: localhost:2181(CONNECTED) 3] ls /
[zk, zookeeper]
- 删除mytest节点
[zk: localhost:2181(CONNECTED) 7] delete /zk
[zk: localhost:2181(CONNECTED) 8] ls /
[zookeeper]