4 个版本
0.2.4 | 2019 年 12 月 10 日 |
---|---|
0.2.3 |
|
0.2.0 | 2019 年 11 月 29 日 |
0.1.1 | 2019 年 11 月 21 日 |
#5 在 #rdkafka
每月 21 次下载
37KB
809 行
krs
krs 是一个用 Rust 编写的简单 Kafka 命令行工具,灵感来自 kt。
双授权 MIT 或 UNLICENSE。
特性
- 易于输入
- 快速启动
- 可能直观易用
- 诊断输出到 stderr,主输出到 stdout,允许以下特性
- JSON 输出,方便使用 jq 消费
- 通过环境变量、
.env
文件或直接通过 CLI 传递来更改一些上下文变量(例如 Kafka 代理或 Zookeeper 主机)。
教程
首先,请始终参考 -h
或 help
(或让我知道一些内容是否不清楚)。
krs -h
krs help
# All subcommands also have `help`, thanks to the amazing `clap` library.
krs env help
krs 从环境变量、.env
文件和 CLI 参数中收集 Kafka 代理和 Zookeeper 主机作为其上下文。要显示上下文变量
$ krs env show # or just `krs env`
如有疑问,您始终可以询问工具您目前正在使用的环境
$ cat .env
KRS_ZOOKEEPER=localhost:2181
$ export KRS_BROKERS=localhost:9092
$ krs env show
Environment:
brokers: localhost:2181 (from env var (KRS_BROKERS))
zookeeper: localhost:9092 (from .env file (KRS_ZOOKEEPER))
有一个小的助手可以设置上下文变量(或者您可以直接将环境变量 KRS_BROKERS
/KRS_ZOOKEEPER
放在您的 .env
文件中)
$ krs env set -b localhost:9092 -z localhost:2181
一旦设置了上下文变量,您就可以列出 Kafka 主题
krs topics list # or just `krs topics`
# You should pipe the output to `jq` to make it look much better.
krs topics | jq
描述 Kafka 主题
krs topics describe -b localhost:9092 -z localhost:2181 -t topic-name
从主题中生产和消费
krs topics create -t my-topic
krs producer -t my-topic
Starting console producer. Press Ctrl+C to exit.
> hello
Sent: (0, 1)
兼容性
MSRV 是 Rust 1.39.0(主要是因为我使用该版本构建了工具,并且尚未测试旧版本)。
主要测试了 Kafka 2.1.1-cp1 (提交::9aa84c2aaa91e392)
。
即将推出的功能
注意:无法保证这些功能将在何时实现,但请随时提交 PR。
- 从指定的偏移量(最早,最新等)消费
- 描述其他 Kafka 资源(消费者组等)的配置
- 移植更多管理命令
- 对生产者有更多细粒度控制(处理键,发送到分区)
- 在 stderr 输出中添加更多颜色。
为什么?
依赖项
~19MB
~268K SLoC