Kaf
受 kubectl 和 docker 启发的 Kafka 命令行工具
安装
通过 Go 从源代码安装:
go install github.com/birdayz/kaf/cmd/kaf@latest
通过安装脚本安装:
curl https://raw.githubusercontent.com/birdayz/kaf/master/godownloader.sh | BINDIR=$HOME/bin bash
在 Archlinux 上通过 AUR 安装:
yay -S kaf-bin
通过 Homebrew 安装:
brew tap birdayz/kaf
brew install kaf
使用方法
显示工具版本
kaf --version
添加一个无认证的本地 Kafka
kaf config add-cluster local -b localhost:9092
从下拉列表中选择集群
kaf config select-cluster
描述并列出节点
kaf node ls
列出主题、分区和副本
kaf topics
描述名为 mqtt.messages.incoming 的主题
kaf topic describe mqtt.messages.incoming
消费组检查
列出消费组
kaf groups
描述名为 dispatcher 的消费组
kaf group describe dispatcher
从标准输入写入消息到指定主题
echo test | kaf produce mqtt.messages.incoming
偏移量重置
将消费组 dispatcher 消费 mqtt.messages.incoming 主题的所有分区偏移量设置为最新
kaf group commit dispatcher -t mqtt.messages.incoming --offset latest --all-partitions
将偏移量设置为最旧
kaf group commit dispatcher -t mqtt.messages.incoming --offset oldest --all-partitions
将分区 0 的偏移量设置为 1001
kaf group commit dispatcher -t mqtt.messages.incoming --offset 1001 --partition 0
配置
查看 examples 文件夹
Shell 自动补全
在 shell 命令文件中引用补全脚本:
Bash Linux:
kaf completion bash > /etc/bash_completion.d/kaf
Bash MacOS:
kaf completion bash > /usr/local/etc/bash_completion.d/kaf
Zsh:
kaf completion zsh > "${fpath[1]}/_kaf"
Fish:
kaf completion fish > ~/.config/fish/completions/kaf.fish
Powershell:
Invoke-Expression (@(kaf completion powershell) -replace " ''\)$"," ' ')" -join "`n")
赞助商
Redpanda
- 面向开发者的流数据平台
- 单一二进制文件,无依赖
- 完全兼容 Kafka API
- P99 延迟降低 10 倍,事务速度提高 6 倍
- 默认零数据丢失