【kubernetes】交付dubbo之zookeeper安裝配置

做這個實驗目標是往kubernetes集群裡交付dubbo服務,現在來安裝zookeeper叢集,拓撲如下圖所示:

01 配置java環境

由於zookeeper是java語言開發的,所以安裝之前需要先準備java環境,這部分三臺主機都需要配置。

1)下載jdk

2)建立目錄

3)解壓縮

4)配置軟連線,方便以後作升級

5)配置環境變數

6)測試

02 配置zookeeper

1)下載軟體

2)解壓

3)作軟連線,方便以後升級

4)配置zoo。cfg

tickTime:配置單元時間。單元時間是ZooKeeper的時間計算單元,其他的時間間隔都是使用tickTime的倍數來表示的。

initLimit:節點的初始化時間。該引數用於Follower(從節點)的啟動,並完成與Leader(主節點)進行資料同步的時間。Follower節點在啟動過程中,會與Leader節點建立連線並完成對資料的同步,從而確定自己的起始狀態。Leader節點允許Follower節點在initLimit時間內完成這項工作。該引數預設值為10,表示是引數tickTime值的10倍。

syncLimit:心跳最大延遲週期。該引數用於配置Leader節點和Follower節點之間進行心跳檢測的最大延時時間。在ZK叢集執行的過程中,Leader節點會透過心跳檢測來確定Follower節點是否存活。如果Leader節點在syncLimit時間內無法獲取到Follower節點的心跳檢測響應,那麼Leader節點就會認為該Follower節點已經脫離了和自己的同步。該引數預設值為5,表示是引數tickTime值的5倍。

dataDir:是zookeeper持久化資料存放的目錄。myid檔案處於此目錄下。

dataLogDir:日誌目錄選項,如果沒有設定該引數,預設將使用和dataDir相同的設定。

clientPort:zookeeper監聽客戶端連線的埠,預設是2181。

server。x:叢集成員,這裡使用域名,所以需要配置dns

5)建立日誌和資料目錄

6)配置myid ,注意這裡每個主機的配置都不一樣

7)在dns伺服器配置dns解析

8)啟動主機上的zookeeper

9)檢視zookeeper狀態(一主兩從)

10)連結到zookeeper,檢視目錄,返回zookeeper即為成功

tips:如果檢視zkServer。sh 返回

Error contacting service。 It is probably not running

,則檢查/data/zookeeper/data/zookeeper。out檢視詳細的報錯內容,如果需要再次啟動zookeeper,先刪除/data/zookeeper/data/zookeeper_server。pid。

03 使用supervisor管理zk

supervisor可以類似於systemctl一樣幫我們管理zk服務,並且在zk異常退出時幫我們拉起zk程序。

1)安裝supervisor

2)配置supervisor指令碼 —— 以host21為例

3)停止zk

4)使用supervisord更新zk服務

5)檢視zk服務狀態

6)停止zk

7)啟用zk