kafka安裝部署


1、准備

kafka 依賴 zookeeper,要運行kafka,需要先部署zk.(所以先部署好zk先吧)

 

2、下載 kafka

官網:https://kafka.apache.org/downloads.html

可以下載最新的穩定版本就行

3、

 

 

二、kafka 部署

1、單機部署

 

安裝目錄為:/home/bigdata/middleware/kafka/kafka_2.13-3.1.0

1、創建幾個目錄備用(logs & data)

mkdir logs

mkdir data

 

2、修改配置文件

vim config/server.properties   

(注: config 目錄下面有很多配置文件,也有 zk 的配置文件,kafka 對應的是這個 server.properties 不小心會弄混)

 

這兒有一個地方要注意一下:(個人感覺這兒最好是寫明確的ip,或明確的 hostname。。。一開始的時候,寫的是默認的:listeners=PLAINTEXT://:9092,然后就報了一個錯:Kafka 創建topic 超時異常: Timed out waiting for a node assignment 搞了挺久,不熟悉部署,確實會浪費一些時間)

listeners=PLAINTEXT://127.0.0.1:9092

 

(后續:這個項,注釋掉,不要顯式提供就可以了。一旦放開注釋,就只能指定一個了,不打開這個項的注釋,就不會有這樣的問題了

 

 

3、啟動

創建個腳本,方便后續使用:vim start-kafka.sh 

啟動腳本: ./bin/kafka-server-start.sh config/server.properties >> logs/kafka.log 2>&1 &

 

4、啟動成功:

有這樣的字樣,表示啟動成功:INFO [KafkaServer id=0] started (kafka.server.KafkaServer)

 

5、試一下,創建一個 topic

 

 

 

 

一些部署過程中的錯誤記錄:

1、Timed out waiting for a node assignment

報這個錯,是因為在配置文件 server.conf 中有一個項  listeners=PLAINTEXT://:9092  

剛開始的時候,只放開了這個注釋,然后使用默認,

 

后來發現,這個最好還是指定一下IP,寫成: listeners=PLAINTEXT://127.0.0.1:9092,再重啟kafka,就好了。

 

獲取 topic 列表:

./bin/kafka-topics.sh --list --bootstrap-server 127.0.0.1:9092   這樣是能查得到的了。

 

2、只能ping通配置的listers的 ip

配置文件中,listeners=PLAINTEXT://127.0.0.1:9092 配置啟動后,

在服務器本地執行: telnet 127.0.0.1 9092 成功,但執行  telnet 10.12.xx.xx 9092 就連不通了。

就有點疑惑。

 

但本地就必須得通過內網ip的方式去訪問kafka啊,於是只能把 listeners=PLAINTEXT://10.12.xx.xx:9092 去啟動,

於只也只能通過10.12.xx.xx 去連接了, 127.0.0.1 也連不通了,相當奇怪。

 

 

 

一些指令:

創建topic: ./kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --replication-factor 1 --partitions 1 --topic test1

生產者指令:bin/kafka-console-producer.sh --bootstrap-server 127.0.0.1:9092  --broker-list 127.0.0.1:9092 --topic test

消費者指令:bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test

消費者指令(指定topic):bin/kafka-console-consumer.sh --bootstrap-server 10.9.13.78:9092 --topic test --group test1

如果消息者指令不指定topic,開啟多個,它會按不同groupid 去啟動

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM