接前一篇文章,今天搭建一下單節點多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...