二、集群环境安装Zookeeper
1. hadoop0,namenode机器下,配置zookeeper,先解压安装包。
使用命令:tar -zxvf zookeeper-3.4.4.tar.gz
2. Hadoop0,配置zookeeper的环境变量
a) 打开/etc/profile,增加并修改如下内容
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH:$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf
3. 进入zookeeper的配置目录,首先把zoo_sample.cfg重命名一下,可以重新复制一遍。
使用命令:cp zoo_sample.cfg zoo.cfg
4. 修改配置zoo.cfg,修改添加如下内容:
dataDir=/usr/local/zookeeper/data server.0=hadoop0:2888:3888 server.1=hadoop1:2889:3889
dataDir用于存放第5步的myid文件
Hadoop0、hadoop1分别是主机名,节点数量最好是奇数;
2888端口,是从机器(follower)连接到主机器(leader)的端口号;
端口3888,是进行leadership选举的端口号;
注意,如果是在一台机器上搭建,则应避免端口冲突。
5. dataDir所指定的目录下创建一个文件名为myid的文件
文件中的内容只有一行,为本主机对应的id值,也就是第4步中server.id中的id。例如:在hadoop0中的myid的内容应该写入0。
6. 将配置好的zookeeper安装文件及profile远程复制分发
scp –rq /usr/local/zookeeper hadoop1:/usr/local
scp –rq /etc/profile hadoop1:/etc
7. 拷贝完成后修改对应的机器上的myid。例如修改hadoop1中的myid为1
8. 启动ZooKeeper集群,在每一个节点上执行命令zkServer.sh start
9. Jps验证,每个阶段均,输出如下结果:
其中,QuorumPeerMain是zookeeper进程,启动正常。
10. 其他常用命令:
a) 查看集群中角色的命令(或是Leader,或是Follower):zkServer.sh status
b) 客户端连接zookeeper:zkCli.sh –server hadoop0:2181,客户端成功后,可通过如下命令操作zk
ls(查看当前节点数据),
ls2(查看当前节点数据并能看到更新次数等数据) ,
create(创建一个节点) ,
get(得到一个节点,包含数据和更新次数等数据),
set(修改节点)
delete(删除一个节点)
c) 停止zookeeper进程:zkServer.sh stop