系統環境:Linux CentOS 7.6
Kafka:2.12-2.5.0
1、安裝JDK 1.8
yum -y install java-1.8.0*
java -version 命令查看JDK版本,如圖安裝成功:
2、安裝zookeeper服務
3、創建工作目錄,下載安裝包:
#創建安裝目錄 mkdir -p /opt/kafka #移動到目錄 cd /opt/kafka #下載kafka安裝包 wget https://mirrors.aliyun.com/apache/kafka/2.5.0/kafka_2.12-2.5.0.tgz #解壓縮 tar -zxvf kafka_2.12-2.5.0.tgz
4、配置文件:
#進入配置目錄 cd kafka_2.12-2.5.0/config/ #備份配置文件 cp server.properties server.properties.bak #修改配置文件 vim server.properties #修改及添加以下配置 broker.id=1 listeners=PLAINTEXT://127.0.0.1:9092 advertised.listeners=PLAINTEXT://127.0.0.1:9092 #其他自定義配置(根據實際修改) zookeeper.connect=127.0.0.1:2181 zookeeper.connection.timeout.ms=18000 #保存退出 :wq
#配置說明
broker.id:當前機器在集群中的唯一標識。例如有三台Kafka主機,則分別配置為1,2,3。
listeners:服務監聽端口。
advertised.listeners:提供給生產者,消費者的端口號,即外部訪問地址。默認為listeners的值。
zookeeper.connect:zookeeper連接地址。如有集群配置,每台Kafka主機都需要連接全部zookeeper服務,實例如下:
zookeeper.connect=192.168.1.41:2181,192.168.1.42:2181,192.168.1.47:2181
zookeeper.connection.timeout.ms:zookeeper連接超時時間。
5、啟動Kafka:
(首先確保已啟動zookeeper)
#移到工作目錄 cd /opt/kafka/kafka_2.12-2.5.0/bin/ #啟動kafka ./kafka-server-start.sh -daemon ../config/server.properties #關閉kafka服務 ./kafka-server-stop.sh
查看端口已被監聽,啟動成功:
6、測試創建一個topic:
#移到工作目錄 cd /opt/kafka/kafka_2.12-2.5.0/bin/ #創建topic ./kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic topic1 #查看topic信息 ./kafka-topics.sh --describe --zookeeper 127.0.0.1:2181 --topic topic1
#啟動生產者控制台 ./kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic topic1 #啟動消費者控制台(新開一個窗口) ./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic topic1 --from-beginning
此時在生成者控制台發一條測試消息,消費者控制台即可收到: