记录mac环境下安装Kafka一直启动失败的过程
写在前面:brew 安装直接执行以下命令可避免下面的坑
HOMEBREW_BOTTLE_DOMAIN= brew install kafka
安装kafka
brew install kafka
修改kafka启动配置文件
vi /opt/homebrew/etc/kafka/server.properties
- 修改kafka的监听地址和端口为localhost:9092
依次启动服务
brew services start zookeeper
brew services start kafka
- 由于kafka依赖zookeeper管理,所以zookeeper需要先启动
这个时候会出现报错,报错信息如下:
根据该报错信息,查看kafka_output.log日志:
/opt/homebrew/Cellar/kafka/3.3.1_1/libexec/bin/kafka-run-class.sh: line 342: /opt/homebrew/@@HOMEBREW_JAVA@@/bin/java: No such file or directory
/opt/homebrew/Cellar/kafka/3.3.1_1/libexec/bin/kafka-run-class.sh: line 342: exec: /opt/homebrew/@@HOMEBREW_JAVA@@/bin/java: cannot execute: No such file or directory
从瓶子镜像安装依赖于 Java 的公式目前无法正常工作。问题是brew需要清单才能正确替换@@HOMEBREW_JAVA@@,但brew只知道如何从ghcr.io 获取清单。
原因如下: HOMEBREW_BOTTLE_DOMAIN: mirrors.ustc.edu.cn/homebrew-bo…
命令行输入重新安装解决:
HOMEBREW_BOTTLE_DOMAIN= brew reinstall kafka
到这里就已经成功安装启动Kafka了,接下来尝试着创建topic生产跟获取消息。
创建topic
使用单个分区和只有一个副本的方式来创建一个名为“scm”的topic
kafka-topics --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic scm
查看创建的topic
kafka-topics --list --bootstrap-server localhost:9092
生产消息
通过控制台向“scm”topic添加消息
kafka-console-producer --broker-list localhost:9092 --topic scm
消费消息
通过控制台消费“scm”topic中的消息
kafka-console-consumer --bootstrap-server localhost:9092 --topic scm --from-beginning