Kafka的安裝及與Spring Boot的整合
阿新 • • 發佈:2018-11-27
- 安裝JDK
- 下載jdk-8u202-ea-bin-b03-linux-x64-07_nov_2018.tar.gz
- 解壓
- 配置
- $ vi /etc/profile,在最後加入下面兩行
export JAVA_HOME=/usr/local/bigdata/jdk1.8.0_202
export PATH=$JAVA_HOME/bin:$PATH - 重新登入執行 java,驗證JDK配置成功
- 安裝Kafka
- 下載kafka_2.11-1.0.2.tgz,這裡主要1.0.2這個Kafka Server的 版本需要和客戶端Spring-Kafka的版本對應,具體對應關係請看https://spring.io/projects/spring-kafka
- 解壓 tar -xzvf kafka_2.11-1.0.2.tgz
- 配置 vi config/server.properties,host.name 非常非常關鍵,否則你講無法遠端連線到Kafka
# Hostname and port the broker will advertise to producers and consumers. If not set,
# it uses the value for "listeners" if configured. Otherwise, it will use the value
# returned from java.net.InetAddress.getCanonicalHostName().
#advertised.listeners=PLAINTEXT://your.host.name:9092
host.name=192.168.198.128 - 啟動 Zookeeper
bin/zookeeper-server-start.sh config/zookeeper.properties
- 啟動 Kafka
bin/kafka-server-start.sh config/server.properties
- 建立一個Topic並檢視是否建立成功
bin/kafka-topics.sh --create --zookeeper 192.168.198.128:2181 --replication-factor 1 --partitions 1 --topic
test
- 檢視Topic是否建立成功
bin/kafka-topics.sh --list --zookeeper
192.168.198.128
:2181- 本地Producer及Consumer演示
-
建立一個本地訊息消費者
bin/kafka-console-consumer.sh --bootstrap-server
:9092 --topic192.168.198.128
test
--from-beginning
- 建立一個本地訊息生產者
bin/kafka-console-producer.sh --broker-list
:9092 --topic192.168.198.128
test
- 在生產者端輸入訊息,消費者端將會列印此訊息
- 遠端Consumer演示(Windows 平臺)
- 下載kafka_2.11-1.0.2.tgz解壓並進入bin/windows
- 建立一個遠端消費者
kafka-console-consumer.bat --bootstrap-server
:9092 --topic192.168.198.128
test
--from-beginning
- 在Linux平臺生成者端輸入訊息,檢查windows端遠端消費者是否列印此訊息
- Spring Boot整合配置
- KafkaProducer.java
- KafkaConsumer.java