1. 程式人生 > >部署zookeeper分布式節點

部署zookeeper分布式節點

per 服務狀態 port apache client syn 寫入 follow keep

用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

部署zookeeper分布式節點