Apache ZooKeeper
ZooKeeper是一套基於Java的分散式Key-Value系統。
硬體
在測試環境下,ZooKeeper可以只使用t3.nano
(512 MB的記憶體),另外手動加上512 MB的Swap執行。
在正式環境下,Confluent官方的建議是4 GB的記憶體與64 GB以上的SSD[1]。
安裝
在Ubuntu的系統內有提供ZooKeeper套件,另外在Confluent的套件中也有提供(通常會在配合Apache Kafka時使用)。
這邊會使用Ubuntu 18.04所內附的ZooKeeper安裝:
sudo apt install -y zookeeper zookeeperd
其中zookeeper
是程式本體,而zookeeperd
是開機時跑起的script。
設定
先把/etc/zookeeper/conf_example/
的內容複製一份到/etc/zookeeper/conf_production/
下:
sudo cp -R /etc/zookeeper/conf_example/ /etc/zookeeper/conf_production/
每台機器的/etc/zookeeper/conf_production/myid
都需要不同,可以從1
到255
:
1
這邊要列出所有機器/etc/zookeeper/conf_production/zoo.cfg
:
tickTime=2000
dataDir=/var/lib/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=172.31.x:2888:3888
server.2=172.31.x:2888:3888
server.3=172.31.x:2888:3888
告訴系統應該要讀哪個設定檔(目錄):
sudo update-alternatives --install /etc/zookeeper/conf zookeeper-conf /etc/zookeeper/conf_production 1
sudo update-alternatives --set zookeeper-conf /etc/zookeeper/conf_production
然後設定在開機時啟動:
sudo systemctl enable zookeeper
可以重開機,或是直接跑起來:
sudo service zookeeper start
測試
可以看輸出的資訊判斷:
echo stat | nc 127.0.0.1 2181
相關連結
參考文獻
- ↑ Running ZooKeeper in Production. [2021-05-18] (English).
外部連結
- 官方網站 (英文)