1、安裝zookeeper單點模式java
一、zookeeper安裝前,需安裝jdk,linux下jdk安裝方式本身解決。linux
二、去官網下載zookeeper安裝包,將tar.gz文件解壓到你的安裝目錄。進入zookeeper的conf目錄,將zoo_sample.cfg改爲zoo.cfg。將zoo.cfg的內容配置成以下shell
tickTime=2000 # Zookeeper服務器心跳時間,單位毫秒 。 initLimit=5 # 投票選舉新leader的初始化時間。 syncLimit=2 # Leader與Follower之間的最大響應時間單位,響應超過syncLimit*tickTime,Leader認爲Follwer死掉,從服務器列表中刪除Follwer。 dataDir=/home/xuer/apps/zookeeperdata # 數據持久化路徑 。 dataLogDir=/home/xuer/apps/zookeeperdata/logs # 這個配置項可不配置,使用默認的。日誌保存路徑,這個必定本身先建好,不然可能會出錯 。 clientPort=2181 # 鏈接端口。
dataDir會自動生成,可是dataLogDir目錄記得本身手動建,不手動建立會致使啓動失敗。服務器
三、啓動zookeeper,進入zookeeper的bin目錄,運行以下命令:app
./zkServer.sh start #啓動zookeeper命令 ./zkServer.sh status #查看zookeeper啓動狀態
若是zookeeper的狀態是Standalone,則zookeeper單點模式配置成功。oop
2、安裝zookeeper集羣模式url
一、執行單點模式的第一步,第二步後,繼續往zoo.cfg最後添加配置文件,添加內容以下spa
#zookeeper集羣各節點的ip信息,端口不要隨意改動,ip隨便配置。 server.1=host1:2888:3888 server.2=host2:2888:3888 server.3=host3:2888:3888
二、在zookeeper的dataDir=/home/hadoop/apps/zookeeperdata目錄下新建一個文件myid,host1機器上的內容爲1,host2機器上爲2,host3機器上爲3。具體哪臺機器上爲幾,看zoo.cfg的配置server.x=host,host機器上的myid的內容爲x。.net
三、每臺機器上都啓動zookeeper,查看zookeeper的狀態能夠看到是leader仍是follower,不然就配置失敗。日誌
3、幾點注意的地方
一、注意zookeeper集羣節點數爲奇數臺,即3臺,5臺……
二、zookeeper集羣啓動時,最好集羣每一個節點都在同一時間內啓動,由於他們要選舉leader。
也許當第一次zookeeper集羣啓動的時候,會提示:Cannot open channel to 3 at election address /192.168.0.93:3888
java.net.ConnectException: Connection refused
在網上找了相關的資料,說這個異常能夠忽略,緣由是還有節點沒有啓動zookeeper,所有啓動以後,天然就不會出異常了。經過日誌觀察發現,這些異常信息確實都在啓動的時候報出的,後面zookeeper就都能鏈接了。
url: http://blog.csdn.net/jingling_zy/article/details/7297643
三、先關閉防火牆,防火牆也會影響zookeeper之間的鏈接。也許會報can’t connection的錯誤。在生產環境中,要開放有關zookeeper的幾個端口。