ZooKeeper-3.4.10的安装和配置

来源:互联网 发布:互联网运营书籍 知乎 编辑:程序博客网 时间:2024/06/01 04:00

准备工作

  • 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.10export 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:3888server.2=Slave1:2888:3888server.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 ~]# jps5858 NameNode6195 ResourceManager8601 Jps6986 QuorumPeerMain   //zookeeper进程6045 SecondaryNameNode[root@Master ~]# 

datanode有如下进程:

[root@Slave1 ~]# jps3703 NodeManager5784 Jps3598 DataNode4239 QuorumPeerMain   //zookeeper进程[root@Slave1 ~]# 

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

#zkServer.sh statusJMX enabled by defaultUsing config: /usr/local/zk/bin/../conf/zoo.cfgError contacting service. It is probably not running.

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

#zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /usr/local/hadoop/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: follower(或者leader)

原因一:zookeeper中myid文件有错误,myid必须和zoo.cfg中的服务器编号一致。
原因二:防火墙。zookeeper也是集群,称为zookeeper集群,集群自然需要彼此之间的通信,所以需要关闭防火墙。

Over

原创粉丝点击