zookeeper集羣搭建,因爲機器性能限制,集羣只安裝在一個linux系統中,搭建僞集羣模式。java
工具及安裝包:VMware虛擬機、xshell五、Centos 6.九、jdk-7u80-linux-x64.tar.gz、zookeeper-3.4.12.tar.gz。linux
注意:zookeeper3.5版本以上的下載包中,沒有zookeeper相關jar包,因此,可選用3.4版本zookeeper使用。shell
一、安裝jdk。緩存
下載jdk安裝包(使用版本1.7),上傳linux(若是是全新的系統,可能遇到「rz: command not found」錯誤,此時yum -y install lrzsz便可),解壓。修改/etc/profile文件,增長:工具
如圖,其中/usr/local/java爲jdk安裝目錄。修改好並保存配置,重啓linux系統或者使用source /etc/profile使得配置在當前窗口當即生效。性能
二、安裝zookeeperui
zookeeper集羣,通常機器數爲大於3的奇數個,這樣,即便集羣中的主機leader掛了,機器數量仍是能夠保證在半數之上,能夠繼續投票選舉出新的主機leader提供服務。spa
本次使用3個zookeeper應用搭建僞集羣,本次虛擬機ip:192.168.9.199,zookeeper服務監聽端口分別爲:2181,2182,2813,投票選舉端口分別爲2881/388一、2882/388二、2883/3883。server
2.一、上傳zookeeper安裝包,本文上傳目錄/usr/cfangData/tarFileblog
2.二、解壓並維護目錄
tar -zxf zookeeper-3.4.12.tar.gz
將解壓後的zookeeper目錄重命名,便於查看管理:mv zookeeper-3.4.12 /usr/cfangData/zk01
2.三、提供緩存數據目錄
在zk01目錄下,建立data目錄,用於緩存應用的運行數據
cd zk01
mkdir data
2.四、設置zookeeper配置文件
zookeeper解壓後的子目錄conf中,默認存在zoo_sample.cfg配置文件模板。
zookeeper應用中的讀取的配置文件爲zoo.cfg,拷貝默認配置文件:cp zoo_sample.cfg zoo.cfg
修改zoo.cfg配置文件(vi zoo.cfg):
(1)設置數據的緩存路徑(根據本身的實際應用地址設置,默認爲 /tmp/zookeeper):dataDir=/usr/cfangData/zk01/data
(2)設置服務、投票、選舉端口
clientPort=2181 #zookeeper服務端口,zk01 - 218一、zk02 - 218二、zk03 - 2183
#如下爲投票選舉配置,三份zookeeper徹底一致
server.1=192.168.9.199:2881:3881
server.2=192.168.9.199:2882:3882
server.3=192.168.9.199:2883:3883
2.六、設置惟一性標識
zookeeper集羣中,每一個節點須要一個惟一性的標識。要求天然數且在集羣中惟一,保存路徑爲$dataDir/myid,其中dataDir爲2.4中zoo.cfg設置的路徑。
兩種方式創建標識文件:
方式一:在zookeeper的子目錄data中,建立文件muid:touch myid
爲應用提供惟一性標識,本次配置中,三個zookeeper分別設置爲1,2,3。
vi myid,
方式二:echo 惟一性標識 >> myid,例:echo 1 >> myid
2.五、複製zk01應用,用於模擬集羣的3個節點
cp -r zk01 zk02
cp -r zk01 zk03
2.六、修改zk0二、zk02配置信息
(1)修改zk0二、03的myid文件,分別設置爲2,3
(2)修改zk0二、03的zoo.cfg文件,分別clientPort=218二、clientPort=2183
2.七、啓動zookeeper
zookeeper子目錄bin中,zkServer.sh爲啓動文件,啓動命令:zk01/bin/zkServer.sh start
zk02/bin/zkServer.sh start
zk03/bin/zkServer.sh start
zookeeper集羣,因爲須要選舉出主服務leader節點,至少啓動2個zk服務。啓動完成,能夠使用zk01/bin/zkServer.sh status命令查看節點狀態
Mode: leader - 主機、Mode: follower - 備份機
如圖:
其中jps查看java進程,三個QuorumPeerMain即爲zookeeper的進程信息。
圖中zk02爲leader節點,zk0一、03爲follower節點。
2.八、關閉zookeeper服務
zk01/bin/zkServer.sh stop