一、介紹
- kafka啟動(dòng)時(shí)需要加載一個(gè)用于KafkaServer初始化相關(guān)配置的server.properties文件,當(dāng)然文件名可以任意,一個(gè)server.properties對(duì)應(yīng)一個(gè)KafkaServer實(shí)例,Kafka偽分布式就是在一臺(tái)機(jī)器上啟動(dòng)多個(gè)KafkaServer來(lái)達(dá)到多代理的效果,因此需要保證broker.id以及port在同一臺(tái)機(jī)器上啟動(dòng)多個(gè)server.properties中唯一。
二、server.properties配置
- 重新copy一份或多份...\conf\server.properties命名為server-1.properties、server-2.properties...
- 由于默認(rèn)端口是9092,而server.properties沒(méi)有設(shè)置端口,則采用的是默認(rèn)端口。因此此處我將server-1.properties端口設(shè)置為9093,這個(gè)端口可以自定義,只要木有被占用即可。
- 分別將broker.id設(shè)為new id,log.dirs設(shè)為new 路徑。
server.properties
broker.id=0
port=9092
log.dir=/tmp/kafka-logs-0
host.name=cent
zookeeper.connect=cent:2181
server-1.properties
broker.id=1
port=9093
log.dir=/tmp/kafka-logs-1
host.name=cent
zookeeper.connect=cent:2181
server-2.properties
broker.id=2
port=9094
log.dir=/tmp/kafka-logs-2
host.name=cent
zookeeper.connect=cent:2181
三、分別啟動(dòng)broker.id為0、1、2的三個(gè)KafkaServer:
-
要先啟動(dòng)zookeeper
- 進(jìn)入bin
cd D:\zookeeper-3\zookeeper-3.5.3-beta\bin - 執(zhí)行
zkServer.cmd
- 進(jìn)入bin
然后啟動(dòng)三個(gè)代理broker
.\bin\windows\kafka-server-start.bat .\config\server.properties
.\bin\windows\kafka-server-start.bat .\config\server-1.properties
.\bin\windows\kafka-server-start.bat .\config\server-2.properties
- 再次執(zhí)行jps命令查看Java進(jìn)程消息,打印輸出如下消息
18692 Kafka
26164 QuorumPeerMain
6996 Kafka
21192 Kafka
15500 Jps
四、測(cè)試
-
創(chuàng)建一個(gè)擁有3個(gè)副本的topic:
-
打開(kāi)cmd
cd D:\kafka_2.11-1.1.0\kafka_2\kafka_2.11-1.1.0\bin\windows -
創(chuàng)建topic:
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic
-
-
如圖
-
查看每個(gè)節(jié)點(diǎn)信息
- 打開(kāi)cmd
cd D:\kafka_2.11-1.1.0\kafka_2\kafka_2.11-1.1.0\bin\windows - 查看節(jié)點(diǎn):
kafka-topics.bat --describe --zookeeper localhost:2181 --topic my-replicated-topic個(gè)擁有3個(gè)副本的topic:
- 打開(kāi)cmd
-
生產(chǎn)消息
- 打開(kāi)cmd
cd D:\kafka_2.11-1.1.0\kafka_2\kafka_2.11-1.1.0\bin\windows - producer:
kafka-console-producer.bat --broker-list localhost:9092 --topic my-replicated-topic
- 打開(kāi)cmd
-
消費(fèi)消息
- 打開(kāi)cmd
cd D:\kafka_2.11-1.1.0\kafka_2\kafka_2.11-1.1.0\bin\windows - consumer:
kafka-console-consumer.bat –zookeeper localhost:2181 –from-beginning –topic my-replicated-topic
- 打開(kāi)cmd