Kafka使用入门


安装


对于Mac:

brew install kafka

如果是 M1,安装zookeeper时会失败。可参考下方的评论:

brew install --build-from-source zookeeper

m1芯片可以安装!亲测,需要更改一些东西。

brew 会先下载资源,然后通过 brew 里面安装的 maven 进行 mvn install,报错是因为 m1 使用 openjdk16 有bug!并不是zookeeper安装不了。

解决办法:

通过命令 brew install openjdk@11 安装jdk11,然后去homebrew的文件夹里找到mvn 的地址,如 /opt/homebrew/Cellar/maven/3.8.x/bin

这个文件夹下有个 mvn 文件。vim mvn 打开,内容如下:

1
2
#!/bin/bash
JAVA_HOME="${JAVA_HOME:-/opt/homebrew/opt/openjdk/libexec/openjdk.jdk/Contents/Home}" exec "/opt/homebrew/Cellar/maven/3.8.1/libexec/bin/mvn" "$@"

大概可以看出这个命令是指定了使用brew安装的openjdk(虽然没写明,但是版本是默认的openjdk16)进行 mvn 操作,

更改前边的命令把指定的jdk版本换成我们刚才下载的11就行了,jdk11地址根据这个命令的地址,自己模仿着去homebrew文件夹里找。

即改为

1
2
#!/bin/bash
JAVA_HOME="${JAVA_HOME:-/opt/homebrew/opt/openjdk@11/libexec/openjdk.jdk/Contents/Home}" exec "/opt/homebrew/Cellar/maven/3.8.2/libexec/bin/mvn" "$@"

然后再重新执行brew install --build-from-source zookeeper,这时在报错那一步不会再报错,但是会卡住!

只需要等待就好!等了十多分钟,然后就完成了,不要以为卡住是有问题,要等其结束,比较慢。

目录为 /opt/homebrew/Cellar/kafka/2.8.0/bin

配置文件路径为 /opt/homebrew/etc/kafka/server.properties




启动 Zookeeper


cd /opt/homebrew/Cellar/kafka/2.8.0/bin

sh zookeeper-server-start /opt/homebrew/etc/kafka/zookeeper.properties &




启动 Kafka


sh kafka-server-start /opt/homebrew/etc/kafka/server.properties&




创建topic


sh kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic shuangTest




查看创建的topic


sh kafka-topics --list --zookeeper localhost:2181

带有句点 (‘.’) 或下划线 (‘_’) 的主题可能会发生冲突。 为避免出现问题,最好使用其中之一,但不能同时使用




删除topic


sh kafka-topics --zookeeper localhost:2181 --delete --topic shuang_test




发送消息


Kafka提供了一个命令行客户端,从文件或标准输入接收输入,并将其作为消息发送到Kafka集群。

默认情况下,每行都将作为单独的消息发送。


运行生产者,然后在控制台中键入一些消息发送到服务器。

sh kafka-console-producer --broker-list localhost:9092 --topic shuangTest


zookeeper的默认端口是2181,kafka的默认端口是9092




消费消息


Kafka还有一个命令行消费者,将消息转储到标准输出

sh kafka-console-consumer --bootstrap-server localhost:9092 --topic shuangTest --from-beginning




使用可视化工具 Kafka Tool


Kafka可视化客户端工具(Kafka Tool 2)的安装和使用
Kafka可视化客户端工具Kafka Tool

关闭Kafka & Zookeeper


sh kafka-server-stop

sh zookeeper-server-stop



https://help.aliyun.com/document_detail/183934.html

https://cloud.tencent.com/developer/article/1823421?cps_key=1d358d18a7a17b4a6df8d67a62fd3d3d

https://tonybai.com/2022/03/28/the-comparison-of-the-go-community-leading-kakfa-clients/

https://www.google.com.hk/search?q=kafka%E7%A7%BB%E9%99%A4zookeeper&oq=kafka%E7%A7%BB%E9%99%A4zookeeper&aqs=chrome..69i57j0i512.5396j0j1&sourceid=chrome&ie=UTF-8

https://www.modb.pro/db/70237

https://zhuanlan.zhihu.com/p/368600560

https://www.hangge.com/blog/cache/detail_2945.html

https://blog.csdn.net/qq_20042935/article/details/105845495


本机连接远程的kafka服务:

43.156.43.225:

sh kafka-topics –create –zookeeper 43.156.43.225:2181 –replication-factor 1 –partitions 1 –topic shuangTest

sh kafka-topics –list –zookeeper 43.156.43.225:2181

sh kafka-console-consumer –bootstrap-server 43.156.43.225:9092 –topic test –from-beginning

https://blog.csdn.net/weixin_44198316/article/details/121497110

bin/kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test


maven仓库中kafka的版本

https://mvnrepository.com/search?q=kafka+clients


Go的client主要有3个,都不咋滴..tonybai有测评

cch123 吐槽了好几次


这个是kafka server版本过低导致的client的报错

https://blog.csdn.net/Addroc_Sue/article/details/127608884