Kafka 單節點多Kafka Broker集群

2021-08-02 21:08:41 字數 2520 閱讀 9423

接前一篇文章,今天搭建一下單節點多kafka broker集群環境。

由於是在乙個節點上啟動多個 kafka broker例項,所以我們需要使用不同的埠來實現。

$ cp config/server.properties config/server-1.properties

$ cp config/server.properties config/server-2.properties

修改 config/server-1.properties

broker.id=1

listeners=plaintext

://:

9093

log.dir=/tmp/kafka-logs-1

修改 config/server-2.properties

broker.id=2

listeners=plaintext

://:

9094

log.dir=/tmp/kafka-logs-2

在三個終端中分別使用不同的配置檔案啟動 kafka,如下:

# 終端一

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

# 終端二

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

#終端三

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

建立乙個複製因子是3的topic:

$

bin/kafka

-topics.sh

--create--

zookeeper

localhost:2181--

replication

-factor3-

-partitions1-

-topic

mytopic

created

topic

"mytopic"

.

建立後,使用 –describe 來檢視一下

bin/kafka

-topics.sh

--describe--

zookeeper

localh2181--

topic

mytopic

topic:mytopic

partitioncount:1

replicationfactor:3

configs:

topic:

mytopic

partition:

0leader:

2replicas:2,

1,0isr:2,

1,0

可以看出現在的leader是 2 節點,複製節點是:2,1,0三個節點。

現在我們分別在兩個終端上執行下面的命令來測試生產訊息和消費訊息。

#終端a

生產訊息

$bin/kafka

-console

-producer.sh

--broker

-list

localhost:9092--

topic

mytopic

aaabbb

ccc

#終端b

消費訊息

$bin/kafka

-console

-consumer.sh

--bootstrap

-server

localhost:9092--

from

-beginning--

topic

mytopic

aaabbb

ccc

目前為止一切工作正常,現在我們把其中的 leader: 2 例項 kill 掉,然後再觀察一下。

bin/kafka

-topics.sh

--describe--

zookeeper

localhost:2181--

topic

mytopic

topic:mytopic

partitioncount:1

replicationfactor:3

configs:

topic:

mytopic

partition:

0leader:

1replicas:2,

1,0isr:1,

0

發現 leader 變成了 1,複製節點變成了兩個:1,0。

此時,繼續在「終端 a」中生產訊息,然後可以看到「終端 b」中會繼續消費新的訊息。這說明儘管原來負責寫入的 leader 已經掛掉,但是訊息不會丟失,仍然可以繼續被消費。

Kafka單節點多broker配置

1 啟動zookeeper zkserver.sh start 2 配置多個broker 1.在kafka安裝目錄的config目錄下拷貝 server.properties 分別為server 1.properties,server 2.properties,server 3 properties...

Kafka單節點多Broker部署

安裝好zookeeper並啟動服務 broker的編號,必須是唯一的,相當於主鍵 broker.id 0 每個broker監聽的埠 listeners plaintext 9090 日誌目錄,預設目錄在tmp下面,重啟後就會被清空,所以要重新指定乙個目錄 log.dirs root kafka tm...

kafka單節點多broker部署及使用

kafka單節點多broker部署及使用 將配置檔案server.properties複製三份 cp server.properties server 1.properties 更新配置檔案 server 1.properties 中引數 broker.id 1 listeners plaintex...