Hadoop系列之zookeeper(分布式协调服务)安装配置
1.安装
cd /root/soft
tar zxvf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 /usr/local/hadoop/zookeeper
2.修改配置文件
mkdir -p /data/zookeeper/data //3个节点都需要创建此目录
cd /usr/local/hadoop/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
#vim zoo.cfg(修改并添加配置文件)

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
clientPort=2181
server.1=hdfs-master:2888:3888 
server.2=hdfs-slave1:2888:3888 
server.3=hdfs-slave2:2888:3888

#添加/data/zookeeper/data/myid配置文件
 echo 1 > /data/zookeeper/data/myid
 //在其它两个节点myid的值分别是2,3
#添加环境变量 /etc/profile  //3个节点都需要添加环境变量
ZOOKEEPER=/usr/local/hadoop/zookeeper
PATH=$PATH:$ZOOKEEPER/bin
#执行环境变量生效
 source /etc/profile
3.将文件分发到集群其它DataNode节点上
 scp -r /usr/local/hadoop/zookeeper [email protected]:/usr/local/hadoop/
 scp -r /usr/local/hadoop/zookeeper [email protected]:/usr/local/hadoop/
4.启动服务
#所有节点执行启动命令
zkServer.sh start
#在其中一台机器上执行客户端脚本,来查看这台服务器是否启动:
zkCli.sh -server 192.168.3.10:2181
5.查看状态
5.1 执行jps查看状态
#在NameNode查看
[root@hdfs-master conf]# jps
17928 Jps
17862 QuorumPeerMain
2282 SecondaryNameNode
2127 NameNode
2437 ResourceManager
#在DataNode查看
[root@hdfs-slave1 hadoop]# jps
7211 Jps
7148 QuorumPeerMain
836 DataNode
5.2 查看zookeeper集群是否启动
#在NameNode查看
[root@hdfs-master conf]# zkServer.sh status
JMX enabled by default
Using config: /usr/local/hadoop/zookeeper/bin/../conf/zoo.cfg
Mode: follower
#在DataNode查看
 [root@hdfs-slave1 hadoop]# zkServer.sh status
JMX enabled by default
Using config: /usr/local/hadoop/zookeeper/bin/../conf/zoo.cfg
Mode: leader
6.ZooKeeper的命令行操作
#ls,查看/目录内容
[zk: 192.168.3.10:2181(CONNECTED) 1] ls /
[zookeeper]
#create,创建一个znode节点
[zk: 192.168.3.10:2181(CONNECTED) 4] create /node conan
Created /node
#ls,再查看/目录
[zk: 192.168.3.10:2181(CONNECTED) 5] ls /
[node, zookeeper]
#get,查看/node的数据信息
[zk: 192.168.3.10:2181(CONNECTED) 6]  get /node
conan
cZxid = 0x100000004
ctime = Thu Sep 18 11:43:10 CST 2014
mZxid = 0x100000004
mtime = Thu Sep 18 11:43:10 CST 2014
pZxid = 0x100000004
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0

备注:
如果hadoop上面启动了hbase并且用了自带的zookeeper,则独立安装的zookeeper无法启动,
此时测试独立安装的zookeeper,需要先把hbase服务关闭测试,如果想继续使用hbase功能,
建议把hbase配置修改成独立的zookeeper,不用系统自带的zookeeper服务。