Zookeeper安裝
目錄
Zookeeper安裝
Zookeeper簡介
安裝
相關指令
Zookeeper的叢集配置
Zookeeper簡介
Zookeeper是一個開源的分布式協調服務,是Google Chubby的一個開源實作。分布式應用程式可以基于Zookeeper實作諸如資料釋出/訂閱、負載均衡、命名服務、分布式協調/通知、叢集管理、Master選舉、配置維護等功能。在Zookeeper中共有三種角色:leader、follower和observer,同一時刻Zookeeper叢集中隻有一個leader,其它都是follower和observer。observer不參與投票,預設情況下Zookeeper中隻有一個leader和follower兩個角色。
安裝
cd /opt
下載下傳:wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz
解壓:tar zxvf apache-zookeeper-3.6.3-bin.tar.gz
編輯 vi /etc/profile
export ZOOKEEPER_HOME=/opt/apache-zookeeper-3.6.3-bin
export PATH=${ZOOKEEPER}/bin:$PATH
并執行 source /etc/profile
cd /opt/apache-zookeeper-3.6.3-bin/conf
# 拷貝一份配置檔案
cp zoo_sample.cfg ./zoo.cfg
配置zoo.cfg
# Zookeeper伺服器心跳時間,機關為ms
tickTime=2000
# 允許follower連接配接并同步到leader的初始化連接配接時間,以tickTime的倍數來表示
initLimit=10
# leader與follower心跳檢測最大容忍時間,響應超過syncLimit * tickTime,leader認為follower 死掉,從伺服器清單中删除follower
syncLimit=5
# 資料目錄
dataDir=/tmp/zookeeper/data
# 日志目錄
dataLogDir=/tmp/zookeeper/log
# Zookeeper對外服務端口
clientPort=2181
注:Zookeeper的預設配置檔案中沒有/tmp/zookeeper/data和/tmp/zookeeper/log目錄
mkdir /tmp/zookeeper/data
mkdir /tmp/zookeeper/log
在mkdir /tmp/zookeeper/data/目錄下建立一個檔案myid,并寫入一個數值,如0,myid檔案裡面存放的是伺服器的編号
相關指令
# 啟動
./zkServer.sh start
# 檢視服務狀态
./zkServer.sh status
Zookeeper的叢集配置
# 首先在這3台機器的/etc/hosts檔案中添加3台叢集的IP位址與機器域名的映射
編輯 vi /etc/hosts
192.168.0.2 node1
192.168.0.3 node2
192.168.0.4 node3
# 然後在這3台機器的zoo.cfg檔案中添加以下配置
server.0=192.168.0.2:2888:3888
server.0=192.168.0.3:2888:3888
server.0=192.168.0.4:2888:3888
# 注:公式說明,server.A=B:C:D。其中A是一個數字,代表伺服器的編号,就是前面說的myid檔案裡面的值。叢集中的每台伺服器的編号都必須唯一,是以要保證每台伺服器中的myid檔案中的值不同。B代表伺服器的IP位址。C表示伺服器與叢集中的leader伺服器交換的端口。D表示選舉時伺服器互相通信的端口。