第一步:下载Zoopkeer安装文件
Zookeeper下载网址:http://www-eu.apache.org/dist/zookeeper/
$ wget -r -O zookeeper-3.4.9.tar.gz "http://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz"
第二步:解压Zookeeper
解压并配置环境变量:
$ tar -axvf zookeeper-3.4.9.tar.gz
环境变量($ sudo vim /etc/profile)添加如下内容:
export ZOOKEEPER_HOME=/home/hadoop/zookeeper-3.4.9
export PATH=$ZOOKEEPER_HOME/bin:$PATH
$ source /etc/profile
第三步:修改配置文件: zookeeper/conf/zoo.cfg
$ cd conf
$ cp zoo_sample.cfg zoo.cfg
$ vim zoo.cfg
修改内容可以参考这个网址:
http://blog.csdn.net/poechant/article/details/6650249。修改内容为:
tickTime=2000 #Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔/ms
dataDir=/home/hadoop/zookeeper-3.4.9/dataDir #指定Zookeeper的数据文件目录
clientPort=2181
initLimit=5 #集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳次数
syncLimit=2 #集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳次数
server.0=CDH:2888:3888 #server.id=hostname:active_port:standby_port
server.1=CDH1:2888:3888
server.2=CDH2:2888:3888
特别注意:zoo.cfg 文件中每个值后面 不能有注释,并且属性后面不能有空格。
应该这样写:
tickTime=2000
dataDir=/home/hadoop/zookeeper-3.4.9/dataDir
clientPort=2181
initLimit=5
syncLimit=2
server.0=CDH:2888:3888
server.1=CDH1:2888:3888
server.2=CDH2:2888:3888
创建dataDir文件夹,并在其内新建文件myid
$ mkdir dataDir
$ cd dataDir
$ vim myid #输入对应虚拟机的id值 如: 0
三台虚拟机这里都要设置myid为相应的值
第四步:修改配置文件: zookeeper/bin/zkEnv.sh 设置日志存放位置
在zkEnv.sh文件中添加行:ZOO_LOG_DIR=/home/hadoop/zookeeper-3.4.9/dataDir
第五步:复制整个文件到从机并修改myid中的id名字
$ scp -r ./zookeeper-3.4.9/ hadoop@CDH1:/home/hadoop/
$ scp -r ./zookeeper-3.4.9/ hadoop@CDH2:/home/hadoop/
copy后一定要重新设置各个虚拟机的:/dataDir/myid文件
第六步:启动zookeeper并检测
在zookeeper根目录下执行:
$ zkServer.sh start #status/restart/stop是相应的指令
jps 查看下QuorumPeerMain是否启动
第七步:查看zookeeper管理哪些程序
在目录zookeeper-3.4.9/bin/下执行
$ zkCli.sh
进入zookeeper的shell管理界面输入
> ls / #查看哪些程序在被zookeeper管理
> delete /storm #删除管理的程序
> rmr /storm #移除该程序