1. zookeeper安装:
-
将zoo_simple.cfg重命名为zoo.cfg
-
配置zoo.cfg文件
-
设置路径:
dataDir=/var/zk
-
指定zookeeper集群包含有哪些主机,以及为主机设置编号
server.1=node02:2888:3888 server.2=node03:2888:3888 server.3=node04:2888:3888
其中:2888是主从结点间的通讯端口;3888是主节点选举时的通讯端口。
-
-
zookeeper分发:
scp -r zookeeper/ node03:`pwd` scp -r zookeeper/ node04:`pwd`
-
创建myid文件用于指定zookeeper主机编号:
mkdir -p /var/zk
echo 1 > /var/zk/myid 【node02中执行】
echo 2 > /var/zk/myid 【node03中执行】
echo 3 > /var/zk/myid 【node04中执行】
-
配置环境变量:
export JAVA_HOME=/usr/java/jdk1.7.0_67 export HADOOP_HOME=/opt/hjf/hadoop export ZOOKEEPER_HOME=/opt/hjf/zookeeper export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin
2. 启动zookeeper:
-
在node02、node03、node04三台主机上启动zookeeper
zkServer.sh start
-
zookeeper集群启动成功的前提是集群中超过1半以上的主机启动
-
查询zookeeper主机的状态
zkServer.sh status
默认情况只有一个leader,同时启动集群中所有主机时,leader选取的依据是启动的zookeeper主机中编号最大的为leader,其他为follower。当leader已经选取好了之后如果出现编号更大的主机也不会更改,只有再下一次切换时才会重新分配。
-
启动zookeeper客户端:
zkCli.sh
3. 关闭Zookeeper
-
关闭namenode
关闭状态为active的namenode节点时,通过浏览器不能访问。并且状态为standby的namenode节点会自动切换成active
hadoop-daemon.sh stop namenode
-
关闭zkfc:
关闭状态为active的namenode节点的zkfc时,通过浏览器能访问,NameNode的状态变为standby。并且状态为standby的namenode节点会自动切换成active
hadoop-daemon.sh stop zkfc
4. Zookeeper客户端的一般操作
-
help:帮助
-
create:创建节点
-
delete:删除节点
-
get:获取节点信息
• cZxid: 是节点的创建时间所对应的Zxid格式时间戳。
• mZxid:是节点的修改时间所对应的Zxid格式时间戳。
• pZxid:节点的子目录修改时间所对应的Pxid格式时间戳。 -
set:修改节点信息