1 安裝背景
準備搭建三個節點的zookeeper叢集
使用的節點作業系統為CentOS_65
node02 node03 node04
192.168.110.102 192.168.110.103 192.168.110.104
zk zk zk
2 安裝zookeeper
首先在node02節點安裝并配置zookeeper,完成之後分發給node03,node04即可.
下載下傳位址: http://zookeeper.apache.org
本次示範使用版本為
zookeeper-3.4.6
在linux系統中解壓完成即安裝成功.
我的安裝目錄為/opt/hdfs/zookeeper-3.4.6.
3 配置zookeeper
進入zookeeper安裝目錄下的conf目錄
備份一個zoo_sample.cfg,重命名為zoo.cfg,編輯zoo.cfg檔案

第十二行,修改dataDir目錄
改為
同時在檔案末尾加上
server.1=192.168.110.102:2888:3888
server.2=192.168.110.103:2888:3888
server.3=192.168.110.104:2888:3888
server.X=A:B:C 其中X是一個數字, 表示這是第幾号server. A是該server所在的IP位址. B配置該server和叢集中的leader交換消息所使用的端口. C配置選舉leader時所使用的端口.
根據之前配置的server.x設定每個節點的zookeeper的id
mkdir -p /var/hdfs/zk (之前設定的dataDir)
echo 1 > /var/hdfs/zk/myid && cat /var/hdfs/zk/myid (node02為1,node03為2,node04為3)
由node02節點分發zookeeper
scp -r zookeeper-3.4.6/ node03:/opt/hdfs/
scp -r zookeeper-3.4.6/ node04:/opt/hdfs/
修改環境變量
node02/node03/node04三個節點修改環境變量,添加(添加ZOOKEEPER_HOME部分)
export JAVA_HOME=/usr/java/jdk1.7.0_67
export HADOOP_PREFIX=/opt/hdfs/hadoop-2.6.5
export ZOOKEEPER_HOME=/opt/hdfs/zookeeper-3.4.6
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin:$ZOOKEEPER_HOME/sbin:$ZOOKEEPER_HOME/bin
使環境變量生效,輸入
source /etc/profile
4 啟動zookeeper
首先關閉防火牆
service iptables stop
分别在每個節點輸入指令
zkServer.sh start
并檢查啟動是否成功
zkServer.sh status