版本定義:
- Ubuntu 18.04.3 LTS
- jdk 8
- kafka 2.12-2.4.0
安裝Java SDK
apt update
apt-get install openjdk-8-jdk
安裝kafka
因?yàn)樾掳鎘afka已經(jīng)集成了zookeeper,所以不需要再單獨(dú)安裝zookeeper了。
從kafka官網(wǎng)下載最新壓縮包:
wget http://mirror.bit.edu.cn/apache/kafka/2.4.0/kafka_2.12-2.4.0.tgz
tar -zxvf kafka_2.12-2.4.0.tgz
修改配置文件
cd kafka_2.12-2.4.0/
vim config/server.properties
需要修改如下代碼:
broker.id=1
listeners=PLAINTEXT://your.host.name:9092
advertised.listeners=PLAINTEXT://your.host.name:9092
啟動zookeeper
使用如下命令在后臺啟動zookeeper
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
啟動kafka
使用如下命令在后臺啟動kafka
bin/kafka-server-start.sh -daemon config/server.properties
創(chuàng)建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看 topic 列表
bin/kafka-topics.sh --list --zookeeper localhost:2181
產(chǎn)生消息,創(chuàng)建消息生產(chǎn)者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
消費(fèi)消息,創(chuàng)建消息消費(fèi)者
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
該腳本將繼續(xù)運(yùn)行,等待更多消息發(fā)布到該主題。隨意打開一個新的終端并啟動一個生產(chǎn)者發(fā)布更多的消息。您應(yīng)該能夠在消費(fèi)者的輸出中看到它們。
查看Topic消息
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
設(shè)置多節(jié)點(diǎn)集群[可選]
在每臺新計算機(jī)上重復(fù)以上步驟。
在server.properties文件中為每個更改:
- 更改broker.id的屬性的值,使其在整個群集中是唯一的。此屬性唯一標(biāo)識集群中的每個服務(wù)器,并且可以將任何字符串作為其值。例如,"server1","server2"等。
- 更改zookeeper.connect的屬性的值,以便所有節(jié)點(diǎn)都指向同一個ZooKeeper實(shí)例。此屬性指定Zookeeper實(shí)例的地址并遵循<HOSTNAME/IP_ADDRESS>:<PORT>格式。例如,"203.0.113.0:2181"``"203.0.113.1:2181"等等。