概要
ZooKeeper是Hadoop的正式子項目,它是一個針對大型分佈式系統的可靠協調系統,提供的功能包括:配置維護、名字服務、分佈式同步、組服務等。
本文僅闡述ZooKeeper集羣的配置方法(windows 7 64bit 環境下)。3個ZK實例~
關於ZooKeeper的工作原理本文不做闡述,詳見 ZooKeeper原理與它的集羣工作流程
步驟一:
解壓三份"zookeeper-3.4.5" 至任意磁盤目錄下,我這裏放在D:盤根目錄,分別命名爲”zookeeper-3.4.5 2181“、”zookeeper-3.4.5 2182“、”zookeeper-3.4.5 2183“ 如下圖
步驟二:
開始配置其中命名爲 zookeeper-3.4.5 2181 ,打開目錄 D:\zookeeper-3.4.5 2181\conf ,在該目錄下新建文件”zoo.cfg“ , 內容爲如下
tickTime=2000
initLimit=10
syncLimit=5
dataDir=D:/zookeeper-3.4.5 2181/data
clientPort=2181
server.1=localhost:2881:3881
server.2=localhost:2882:3882
server.3=localhost:2883:3883
這裏說明一下部分參數:
tickTime:Zookeeper服務器心跳時間,單位毫秒;
initLimit:投票選舉新leader的初始化時間;
syncLimit:Leader與Follower之間的最大響應時間單位,響應超過syncLimit*tickTime,Leader認爲Follwer死掉,從服務器列表中刪除Follwer
dataDir: 屬於當前端口爲2181的ZK數據目錄,如果沒有這個路徑,請手動建立該文件夾”D:/zookeeper-3.4.5 2181/data“;
clientPort:表示當前zk的端口;
server.1\server.2\server.3:是集羣的端口及備用端口,因爲此文要配置3個ZK組成的集羣,所以這裏有3個。
步驟三:
因爲是集羣,所以要指定zookeeper的序列編號, 這個很關鍵,否則啓動將失敗,打開data目錄“D:/zookeeper-3.4.5 2181/data”,在其目錄中建立文件 "myid" (無類型);打開(儘量使用UE打開),寫入值 1 (如果是2182的寫入2,2183寫入3,這個值其實是跟zoo.cfg中的server.1 後面的 .1相匹配的。)如下圖:
步驟四:
跟步驟二一樣,分別在 2182和2183 3個ZK上添加配置文件,並且根據端口不一樣配置不同的端口信息,此處要注意,ZK的數據目錄是各自維護的, 別黏貼複製錯了!!要記得改!