天天看點

Kafka叢集配置

假設叢集中有三台機器, ip位址分别為: 10.101.139.1, 10.101.139.2, 10.101.139.3.

zookeeper叢集: 10.101.139.1:2181, 10.101.139.2:2181, 10.101.139.3:2181.

kafka broker叢集: 10.101.139.1:9092, 10.101.139.2:9092, 10.101.139.3:9092.

1 修改zookeeper的配置檔案,在$ZOOKEEPER_HOME/conf/下的zoo.cfg.(每台機器都需要添加)

在檔案末尾添加:

這裡簡單說明一下:server.A=B:C:D

A是一個數字,表示這個是第幾号伺服器,B是這個伺服器的ip位址

C第一個端口用來叢集成員的資訊交換,表示的是這個伺服器與叢集中的Leader伺服器交換資訊的端口

D是在leader挂掉時專門用來進行選舉leader所用

2 建立server id辨別

在zoo.cfg下同時還需要配置(單機版時就已經設定,在配置叢集時就可不必在設定)

在上面可以看到有個dataDir的配置,在配置叢集時需要在dataDir配置的/tmp/zookeeper/data下建立一個名稱為”myid”的檔案,檔案裡填上serverid号。

3 啟動各個節點的zookeeper: bin/zkServer.sh start

4 通過bin/zkServer.sh status檢視各個節點的狀态。

1 需要修改$KAFKA_HOME/config下的server.properties檔案

修改broker.id的值,比如10.101.139.1設定為0,10.101.139.2設定為1,依次類推。(每台kafka broker server必須唯一)

最好将host.name設定為本機的ip位址而不是預設的localhost.

修改zookeeper.connect為zookeeper叢集的ip,本例中可以這樣設定:

zookeeper.connect=10.101.139.1:2181,10.101.139.2:2181,10.101.139.3:2181

2 在每台機器上啟動kafka

bin/kafka-server-start.sh config/server.properties

繼續閱讀