1. 程式人生 > >Kafka的安裝及與Spring Boot的整合

Kafka的安裝及與Spring Boot的整合

  • 安裝JDK
  1. 下載jdk-8u202-ea-bin-b03-linux-x64-07_nov_2018.tar.gz
  2. 解壓
  3. 配置
  4. $ vi /etc/profile,在最後加入下面兩行   export JAVA_HOME=/usr/local/bigdata/jdk1.8.0_202
      export PATH=$JAVA_HOME/bin:$PATH
  5. 重新登入執行 java,驗證JDK配置成功
  • 安裝Kafka
  1. 下載kafka_2.11-1.0.2.tgz,這裡主要1.0.2這個Kafka Server的 版本需要和客戶端Spring-Kafka的版本對應,具體對應關係請看https://spring.io/projects/spring-kafka
  2. 解壓 tar -xzvf kafka_2.11-1.0.2.tgz
  3. 配置 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
  4. 啟動 Zookeeper bin/zookeeper-server-start.sh config/zookeeper.properties
  5. 啟動 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演示
  1. 建立一個本地訊息消費者 bin/kafka-console-consumer.sh --bootstrap-server 192.168.198.128:9092 --topic test --from-beginning
  2. 建立一個本地訊息生產者 bin/kafka-console-producer.sh --broker-list 192.168.198.128:9092 --topic test
  3. 在生產者端輸入訊息,消費者端將會列印此訊息
  • 遠端Consumer演示(Windows 平臺)
  1. 下載kafka_2.11-1.0.2.tgz解壓並進入bin/windows
  2. 建立一個遠端消費者 kafka-console-consumer.bat --bootstrap-server 192.168.198.128:9092 --topic test --from-beginning
  3. 在Linux平臺生成者端輸入訊息,檢查windows端遠端消費者是否列印此訊息
  • Spring Boot整合配置
  • KafkaProducer.java
  • KafkaConsumer.java