參考:http://blog.csdn.net/u010270403/article/details/51444677centos
虛擬機中共五個centos系統,每一個系統有兩個用戶root和hadoop:cdh1,cdh2,cdh3,cdh4,cdh5bash
集羣規劃app
第一步,切換到hadoop的家目錄下,把已經下載好的zookeeper放到/home/hadoop/app目錄下並解壓(以cdh3爲例)oop
# tar zxvf zookeeper-3.4.5-cdh5.4.5.tar.gz
第二步,刪除zookeeper的壓縮文件spa
# rm -rf zookeeper-3.4.5-cdh5.4.5.tar.gz
第三步,配置環境變量.net
# vi /home/hadoop/.bash_profile
添加:3d
export ZOOKEEPER_HOME=/home/hadoop/app/zookeeper-3.4.5-cdh5.4.5 export PATH=$PATH:$ZOOKEEPER_HOME/bin
第四步,使環境變量文件即時生效日誌
# source /home/hadoop/.bash_profile
第五步,修改Zookeeper中的配置文件code
在zookeeper/conf目錄下,複製zoo_sample.cfg server
#cp zoo_sample.cfg zoo.cfg
修改zoo.cfg文件的配置
#vi zoo.cfg
註釋掉dataDir=/tmp/zookeeper
添加如下內容:
#數據文件目錄與日誌目錄
dataDir=/home/hadoop/data/zookeeper/zkdata
dataLogDir=/home/hadoop/data/zookeeper/zkdatalog
#server.服務編號=主機名稱:Zookeeper不一樣節點之間同步和通訊的端口:選舉端口(選舉leader)
server.1=cdh3:2888:3888 server.2=cdh4:2888:3888 server.3=cdh5:2888:3888
第六步,在cdh1上把~/tools目錄拷貝到cdh3
#scp –r ~/tools/ hadoop@cdh3:~/
在cdh3查看是否拷貝成功
第七步,在cdh3上經過命令deploy.sh將Zookeeper安裝目錄拷貝到cdh四、cdh5
查看cdh4的~/app目錄
在cdh3的~/tools目錄下執行deploy.sh批處理命令
# ./deploy.sh ~/app/zookeeper-3.4.5-cdh5.4.5 ~/app/ zookeeper
驗證cdh4的~/app目錄
第八步,在cdh3上經過遠程命令runRemoteCmd.sh在全部的zookeeper節點(cdh三、cdh四、cdh5)上面建立數據目錄和日誌目錄
數據目錄:
#./runRemoteCmd.sh "mkdir -p ~/data/zookeeper/zkdata" zookeeper
日誌目錄:
#./runRemoteCmd.sh "mkdir -p ~/data/zookeeper/zkdatalog" zookeeper
在cdh3的~/tools目錄下執行以上批處理命令
在cdh3和cdh4上驗證是否建立成功
第九步,分別在cdh三、cdh四、cdh5上的~/data/zookeeper/zkdata目錄下,建立文件myid,裏面的內容分別填充爲:一、二、3,以cdh3爲例
#vi myid
建立myid
添加id編號
第十步,將cdh3下的環境變量配置文件複製到其餘節點上
# ./deploy.sh ~/.bash_profile ~/ zookeeper
查看cdh4的.bash_profile文件
在cdh3的~/tools目錄下執行# ./deploy.sh ~/.bash_profile ~/ zookeeper
在cdh4查看.bash_profile配置文件
#cat ~/.bash_profile
第十一步,分別在每臺機器上執行source ~/.bash_profile使環境變量生效(批處理文件不能使之生效,要一個一個節點執行), 以cdh4爲例
第十二步,在cdh3的~/tools目錄下用runRemoteCmd.sh 腳本,啓動全部節點(cdh三、cdh四、cdh5)上面的Zookeeper
#./runRemoteCmd.sh "~/app/zookeeper-3.4.5-cdh5.4.5/bin/zkServer.sh start" zookeeper
第十三步,在cdh3的~/tools目錄下用runRemoteCmd.sh查看全部節點(cdh三、cdh四、cdh5)是否啓動QuorumPeerMain進程
#./runRemoteCmd.sh "jps" zookeeper
第十四步,在cdh3的~/tools目錄下用runRemoteCmd.sh查看全部節點(cdh三、cdh四、cdh5)狀態
#./runRemoteCmd.sh "~/app/zookeeper-3.4.5-cdh5.4.5/bin/zkServer.sh status" zookeeper
若是一個節點爲leader,另2個節點爲follower,則說明Zookeeper安裝成功。
完成!