brew安裝kafka不好使,只能自己找找方法了!
以下親測可行,超級詳細:
-
下載confluent,https://www.confluent.io/get-started,到Download Confluent Platform頁,留下郵箱,文件格式選擇tar
-
解壓:
mv ~/Downloads/confluent-6.0.1.tar ~/ tar -zxvf confluent-6.0.1.tar.gz rm -rf confluent-6.0.1.tar
-
修改.zshrc文件內容,設置confluent路徑
# 獲取confluent路徑 cd confluent-6.0.1 pwd # 得到路徑:/Users/xinlong/confluent-6.0.1 cd ~ vim .zshrc # 修改文件.zshrc文件(加到末尾): export CONFLUENT_HOME=/Users/xinlong/confluent-6.0.1 export PATH=$PATH:$CONFLUENT_HOME/bin # 使配置文件生效 source .zshrc
-
修改confluent的配置文件
vim /Users/xinlong/confluent-6.0.1/etc/kafka/server.properties # 找到下面三個項,取消注釋 # 取消注釋,添加0.0.0.0 listeners=[PLAINTEXT://0.0.0.0:9092](PLAINTEXT://0.0.0.0:9092) # 取消注釋,添加localhost advertised.listeners=PLAINTEXT://localhost:9092 # 取消注釋 listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL
-
啟動confluent
arch -x86_64 confluent local services start
可能會遇到java版本問題,這個看后邊ps。
此時就可以成功運行了,如下:
-
打開瀏覽器,輸入localhost:9021,會出現以下結果:
-
點擊側欄目Cluster,新建個topic(叫test把)
-
創建消費者,使用python測試,運行之
from kafka import KafkaConsumer consumer = KafkaConsumer('test', bootstrap_servers=['localhost:9092']) # 定義消費者 for msg in consumer: print(msg)
-
創建生產者,終端輸入:
kafka-console-producer --topic test --broker-list localhost:9092
生產者生產數據:
消費者消費之:
- end !
ps: 上訴的java問題如何解決:
-
查看java版本,檢查是不是java11
java --version
-
不是就會存在問題,安裝sdkman
curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh" sdk version
-
使用sdkman安裝java11
sdk install java 11.0.9.hs-adpt
-
使用java11
sdk use java 11.0.9.hs-adpt
-
繼續執行上述的啟動命令
arch -x86_64 confluent local services start
ps-2:
confluent常用指令:
arch -x86_64 confluent local services start
arch -x86_64 confluent local services stop
arch -x86_64 confluent local destroy
終端開啟轉寫則不用加arch -x86_64。