hadoop + zookeeper 集群

hadoop   zookeeper  

一、环境说明

  • 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]