1. 程式人生 > >zookeeper叢集配置一例

zookeeper叢集配置一例

以3臺機器為例,進行配置。現在有3臺機器,ip地址分別為

  • 192.168.1.50
  • 192.168.1.51
  • 192.168.1.52

在這3臺機器上配置zookeeper叢集。

配置步驟

首先下載zookeeper,這裡用的是zookeeper-3.4.8,並解壓至每臺機器的適當的目錄中。

1 在每臺機器的zoo.cfg檔案中,增加如下配置

#cluster config
server.1=192.168.1.50:2888:3888
server.2=192.168.1.51:2888:3888
server.3=192.168.1.52:2888:3888

解釋:

  • 1,2,3是定義的機器編號
  • 2888和3888是zookeeper之間通訊(選舉leader等)時所使用的埠。

2 在每臺機器的zookeeper所配置的data目錄下,建立myid檔案。使用myid為當前機器分配一個編號。
我們這裡根據上面的配置,使用以下命令分別為每臺機器增加一個

首先看一下zoo.cfg檔案中data目錄的配置資訊

dataDir=/home/app/program/zookeeper-3.4.8/data

然後進入/home/app/program/zookeeper-3.4.8/data目錄,執行

  • 192.168.1.50伺服器上:
echo '1' > myid
  • 192.168.1.51伺服器上:
echo '2' > myid
  • 192.168.1.52伺服器上:
echo '3' > myid

這樣就完成了叢集配置,依次啟動3臺伺服器的zookeeper即可。

Dubbo中配置zookeeper叢集的資訊

在java程式中使用zookeeper叢集時,比如分散式治理框架dubbo,可如下進行配置:

解釋:2181埠是zookeeper預設使用的埠,這裡使用預設埠

  • xml中配置方法
<dubbo:registry address="zookeeper://192.168.1.50:2181?backup=192.168.1.51:2181,192.168.1.52:2181"
/>
  • properties中配置方法
dubbo.registry.address=zookeeper://192.168.1.50:2181?backup=192.168.1.51:2181,192.168.1.52:2181