您的位置:首页 > 运维架构

ZooKeeper-3.4.10的安装和配置

2017-08-24 20:12 423 查看

准备工作

1.搭建好的hadoop分布式系统

2.zookeeper-3.4.10.tar.gz

安装

解压zookeeper-3.4.10.tar.gz包完成安装

#tar -zxvf zookeeper-3.4.10.tar.gz -C /usr/local/hadoop


配置

1.添加环境变量

#vim /etc/profile


添加如下记录:

ZOOKEEPER_HOME=/usr/local/hadoop/zookeeper-3.4.10
export PATH=$ZOOKEEPER_HOME/bin:$PATH


使配置文件生效

#source /etc/profile


2.创建用于保存zookeeper临时文件的zookeeperData目录并在目录下创建文件myid

#mkdir -p /home/hadoop/zookeeper-3.4.10/zookeeperData
#cd /home/hadoop/zookeeper-3.4.10/zookeeperData
#vim myid

写入内容:1


3.修改zookeeper的配置文件

#cd /usr/local/hadoop/zookeeper-3.4.10/conf
#mv zoo_sample.cfg zoo.cfg
#vim zoo.cfg
//指定zookeeper临时文件的保存路径
dataDir=/home/hadoop/zookeeper-3.4.10/zookeeperData
//添加如下记录
server.1=Master:2888:3888
server.2=Slave1:2888:3888
server.3=Slave2:2888:3888


注:server.X=A:B:C 其中X是一个数字(myid中的数字),表示这是第几号server。A是该server所在的IP地址,B配置该server和集群中的leader交换消息所使用的端口,C配置选举leader时所使用的端口。

复制zookeeper-3.4.10文件夹

集群中的每一台机器都需要安装配置zookeeper

方法一:以上同样的步骤在集群中的每一台机器上做一次。

方法二:使用scp -r命令复制

#scp -r /home/hadoop/zookeeper-3.4.10 Slave1:/home/hadoop/
#scp -r /usr/local/hadoop/zookeeper-3.4.10 Slave1:/usr/local/hadoop/


注:命令中的Slave1是主机名。/etc/profile就别瞎复制了,毕竟是配置文件,勤快点改改吧!复制之后记得修改myid的值,2,3…

启动和停止

由于在/etc/profile中设置了zookeeper的环境变量,启动和停止就变得非常的方便了。

启动

#zkServer.sh start


停止

#zkServer.sh stop


验证

#jps


在hadoop集群运行着的情况下,namenode有如下进程:

[root@Master ~]# jps
5858 NameNode
6195 ResourceManager
8601 Jps
6986 QuorumPeerMain   //zookeeper进程
6045 SecondaryNameNode
[root@Master ~]#


datanode有如下进程:

[root@Slave1 ~]# jps
3703 NodeManager
5784 Jps
3598 DataNode
4239 QuorumPeerMain   //zookeeper进程
[root@Slave1 ~]#


注:就算存在QuorumPeerMain进程也不代表zookeeper启动成功,需要再次使用zkServer.sh status查看zookeeper的运行状态。

#zkServer.sh status
JMX enabled by default
Using config: /usr/local/zk/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.


如果出现的是如上信息说明zookeeper并没有启动成功,而出现如下信息才能说明zookeeper启动成功

#zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/hadoop/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower(或者leader)


原因一:zookeeper中myid文件有错误,myid必须和zoo.cfg中的服务器编号一致。

原因二:防火墙。zookeeper也是集群,称为zookeeper集群,集群自然需要彼此之间的通信,所以需要关闭防火墙。

Over

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息