用2臺服務器,低資源,部署3個zookeeper分佈式節點:
1.準備環境
系統已經配置好了JAVA環境;
下載某個版本的zookeeper壓縮包,
下載鏈接:http://apache.claz.org/zookeeper/zookeeper-3.5.3-beta/zookeeper-3.5.3-beta.tar.gz
2、規劃
服務器A,部署1個實例
服務器B,部署2個實例
3、我們配置3個服務,分佈式集羣至少需要三個實例服務,配置信息如下:
針對每一個服務的日誌,新建一個數據目錄
服務器A:
/opt/local/zookeeper/zk,新建data、logs,在data裏新建myid,裏面寫入3;
服務器B:
/opt/local/zookeeper/zk1,新建data、logs,在data裏新建myid,裏面寫入2;
/opt/local/zookeeper/zk2,新建data、logs,在data裏新建myid,裏面寫入1;
4、配置文件目錄/opt/local/zookeeper-3.4.10/conf,
新建3個配置文件,爲
服務器A: zoo.cfg
服務器B: zoo1.cfg、zoo2.cfg
端口分別爲 2181 2182 2183
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/local/zookeeper/zk/data
clientPort=2181
dataLogDir=/opt/local/zookeeper/zk/logs
server.1=IP1:2287:3387
server.2=IP2:2288:3388
server.3=IP2:2289:3389
先解釋一下server.x=A:B:C的含義:
x:代表每個服務實例對用的dataDir下myid的內容
A:對用服務所在機器的IP地址
B: leader選舉端口(僞分佈式環境下所有的端口都不要相同)
C: zk服務器之間通信的端口,服務器之間同步信息
5、
啓動三臺服務:
bin/zkServer.sh start conf/zoo.cfg
bin/zkServer.sh start conf/zoo1.cfg
bin/zkServer.sh start conf/zoo2.cfg
查看服務狀態:
#Mode: follower
bin/zkServer.sh status conf/zoo.cfg
#Mode: leader
bin/zkServer.sh status conf/zoo1.cfg
#Mode: follower
bin/zkServer.sh status conf/zoo2.cfg