1、虛擬機環境html
見個人另外一篇博客http://www.cnblogs.com/xckk/p/6000881.html,apache
zookeeper是用JAVA編寫,所以須要安裝JDK環境,centos下安裝JDK可參考:centos
http://www.centoscn.com/image-text/install/2014/0827/3585.htmlspa
2、zookeeper安裝3d
計劃安裝三臺zookeeper集羣,centos一、centos二、centos3,以centos1爲例日誌
一、下載zookeeper,官網下載:http://apache.fayea.com/zookeeper/,我下載的是3.4.8版本server
二、下載後,文件拷貝到/root/目錄下,能夠用ftp,也能夠用scphtm
scp zookeeper-3.4.8.tar.gz root@centos1:/root/blog
三、解壓:tar -zxvf zookeeper-3.4.8.tar.gz進程
四、創建軟鏈,目的是應用程序都放在/home目錄下
ln –sf /root/zookeeper-3.4.8 /home/zookeeper-3.4
完成後,能夠看到以下效果。
3、zookeeper集羣配置(三臺機器都要配置)
一、conf/zoo.cfg文件
修改 dataDir=/opt/zookeeper
端口號clientPort=2181
最後面增長
server.1=centos1:2888:3888
server.2=centos2:2888:3888
server.3=centos3:2888:3888
二、/opt/zookeeper目錄下建立myid文件,目錄不存在就手動建立目錄。
centos1的myid文件內容設置爲1
centos1的myid文件內容設置爲2
centos1的myid文件內容設置爲3
(分別對應zoo.cfg配置的的server.一、server.二、server.3中的1,2,3)
下圖是centos1的myid文件
4、啓動
一、三臺機器分別啓動
bin/zkServer.sh start
二、三臺機器都啓動完後
bin/zkServer.sh status 查看啓動是否成功,三臺機器會選擇一臺作爲leader,另兩臺爲follower
客戶端命令
./zkCli.sh -server centos1:2181 (由於是集羣,機器名隨便選一臺便可)
5、問題解決
一、Error contracting service. It is probably not running
解決方法:
檢查防火牆是否關閉,service iptables stop;
檢查三臺機器是否均已啓動,可經過jps查看,有QuorumPeerMain進程表明當前機器zookeeper已經啓動(但啓動成功與否沒法判斷)
查看日誌文件,根據日誌文件判斷。默認日誌文件路徑 bin/zookeeper.out