Mac安裝配置zookeeper

Zookeeper 的安裝

先到apache官網進行下載apache

首先從官網下載ZooKeeper壓縮包,而後解壓下載獲得的ZooKeeper壓縮包,發現有「bin,conf,lib」等目錄。「bin目錄」中存放有運行腳本;「conf目錄」中存放有配置文件;「lib目錄」中存放有運行所須要第三方庫。分佈式

Zookeeper 的配置

1、單機模式

編輯配置文件

在「conf」目錄下,將「zoo_sample.cfg」的文件重命名爲"zoo.cfg"spa

而後編輯"zoo.cfg",其中內容爲下命令行

參數說明code

#tickTime: zookeeper中使用的基本時間單位, 毫秒值.
#dataDir: 數據目錄. 能夠是任意目錄.
#dataLogDir: log目錄, 一樣能夠是任意目錄. 若是沒有設置該參數, 將使用和#dataDir相同的設置.
#clientPort: 監聽client鏈接的端口號.

運行ZooKeeper Serverserver

 執行./bin/zkServer.sh start命令,運行ZooKeeper Server進程,獲得如圖所示結果,表示後臺運行ZooKeeper Server進程成功。進程

中止:./bin/zkServer.sh stop
也能夠執行bin/zkServer.sh start-foreground命令,非後臺運行ZooKeeper Server進程資源

2、集羣模式

集羣模式有兩種形式:
1)使用多臺機器,在每臺機器上運行一個ZooKeeper Server進程;
2)使用一臺機器,在該臺機器上運行多個ZooKeeper Server進程。
在生產環境中,通常使用第一種形式,在練習環境中,通常使用第二種形式。it

參數配置

  1. data目錄
    用於存放進程運行數據。
  2. data目錄下的myid文件
    用於存儲一個數值,用來做爲該ZooKeeper Server進程的標識。
  3. 監聽Client端請求的端口號
  4. 監聽同ZooKeeper集羣內其餘Server進程通訊請求的端口號
  5. 監聽ZooKeeper集羣內「leader」選舉請求的端口號
    該端口號用來監聽ZooKeeper集羣內「leader」選舉的請求。注意這個是ZooKeeper集羣內「leader」的選舉,跟分佈式應用程序無關。

參數配置注意事項:
1)同一個ZooKeeper集羣內,不一樣ZooKeeper Server進程的標識須要不同,即myid文件內的值須要不同
2)採用上述第2種形式構建ZooKeeper集羣,須要注意「目錄,端口號」等資源的不可共享性,若是共享會致使ZooKeeper Server進程不能正常運行,好比「data目錄,幾個監聽端口號」都不能被共享table

myid Data目錄 Client Server Leader 配置文件
1 /z1/data 2181 2222 2223 z1.cfg
2 /z2/data 2182 3333 3334 z2.cfg
3 /z3/data 2183 4444 4445 z3.cfg

配置以下:

# zx.cfg  
    tickTime=2000  
    initLimit=10  
    syncLimit=2  
    dataDir=/usr/myenv/zookeeper-3.4.8/zx/data  
    clientPort=218x  
    # server.x中的「x」表示ZooKeeper Server進程的標識  
    server.1=127.0.0.1:2222:2225  
    server.2=127.0.0.1:3333:3335  
    server.3=127.0.0.1:4444:4445

注:

initLimit: zookeeper集羣中的包含多臺server, 其中一臺爲leader, 集羣中其他的server爲follower. initLimit參數配置初始化鏈接時, follower和leader之間的最長心跳時間. 此時該參數設置爲5, 說明時間限制爲5倍tickTime, 即5*2000=10000ms=10s.

syncLimit: 該參數配置leader和follower之間發送消息, 請求和應答的最大時間長度. 此時該參數設置爲2, 說明時間限制爲2倍tickTime, 即4000ms.

運行ZooKeeper Server

bin/zkServer.sh start deploy/z1/z1.cfg,  
  bin/zkServer.sh start deploy/z2/z2.cfg  
  bin/zkServer.sh start deploy/z3/z3.cfg

運行上述配置的3個ZooKeeper Server進程。

運行ZooKeeper命令行客戶端

執行命令

bin/zkCli.sh -server 127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

創建ZooKeeper Client端到ZooKeeper集羣的鏈接會話。

相關文章
相關標籤/搜索