1.環境
centos 版本:Linux version 3.10.0-693.2.2.el7.x86_64 (builder@kbuilder.dev.centos.org)
kafka 版本:kafka_2.12-2.4.0
2.前提
已經安裝了jdk
3.下載 kafka
3.1.訪問 kafka 官網:http://kafka.apache.org/downloads
3.2.選擇版本
進入上述官網下載頁后,最上面的就是最新版本,往下翻可以看到歷史版本。本例中以當前最新的 2.4.0 為例。選擇 binary 文件中推薦的 scala 版本,點擊進入:
3.3.進入后,復制推薦的鏡像地址,然后到 centos 中使用 wget 下載即可
4.解壓
將安裝包復制到需要安裝的目錄,並解壓:
tar -xzvf kafka_2.12-2.4.0.tgz
由於下載的是二進制包,所以解壓后就算是安裝好了,無需編譯。
5.啟動
5.1.啟動 zookeeper
kafka 在設計上就是依賴於 zookeeper 的,所以啟動 kafka 前需要啟動 zookeeper。依賴 zookeeper 有兩種選擇:使用獨立的 zookeeper 和 使用 kafka 自帶的 zookeeper(高版本的 kafka 已經自帶了 zookeeper)。如果使用獨立的 zookeeper,就需要修改 kafka 安裝目錄下的 config/server.properties 文件中的 zookeeper.connect 配置項(zookeeper 對外服務地址)。本例中使用自帶的 zookeeper。
nohup ./bin/zookeeper-server-start.sh config/zookeeper.properties >> zookeeper.nohup &
檢查 zookeeper 進程是否已經啟動:ps -ef|grep zookeeper
5.2.啟動 kafka
nohup ./bin/kafka-server-start.sh config/server.properties >> kafka.nohup &
報錯了:
報錯原因不知道,但是升級 jdk 就好了,我將 jdk 從 jdk1.8.0_11 到 jdk1.8.0_231 就不報錯了,有些博友說升級到 jdk1.8.0_212 就可以。
6.創建 topic
創建一個名為 test 的 topic,只有一個 副本,一個分區:
sh bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看已經創建的 topic:
sh bin/kafka-topics.sh -list -zookeeper localhost:2181
結果顯示 topic 已經存在
7.驗證
7.1. 啟動 producer
sh bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
7.2.啟動 consumer,在另一個終端窗口執行
sh bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
7.3.從 producer 終端窗口發送消息,並查看 consumer 窗口的輸出,結果如下
producer窗口:
consumer 窗口:
驗證通過,安裝成功。
8. client 在外網連接的話,請參考: