mac环境下使用brew安装Kafka

2,134 阅读1分钟

记录mac环境下安装Kafka一直启动失败的过程

写在前面:brew 安装直接执行以下命令可避免下面的坑

HOMEBREW_BOTTLE_DOMAIN= brew install kafka

安装kafka

brew install kafka

修改kafka启动配置文件

vi /opt/homebrew/etc/kafka/server.properties
  • 修改kafka的监听地址和端口为localhost:9092

image.png

依次启动服务

brew services start zookeeper
brew services start kafka
  • 由于kafka依赖zookeeper管理,所以zookeeper需要先启动

这个时候会出现报错,报错信息如下:

image.png 根据该报错信息,查看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

image.png

到这里就已经成功安装启动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

image.png