m1安装Kafka(使用Confluent)
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。