Kaskade
Kaskade 是一个用于 Apache Kafka 的文本用户界面(TUI),由 Textualize 使用 Textual 构建。它包括以下功能:
- 管理:
- 列出主题、分区、消费组和消费组成员。
- 主题信息,如滞后、副本和记录数。
- 创建、编辑和删除主题。
- 按名称筛选主题。
- 消费者:
- JSON、字符串、整数、长整数、浮点数、布尔值和双精度浮点数反序列化。
- 按键、值、标头和/或分区进行筛选。
- 支持带有 Avro 的 Schema Registry。
- 支持 Protobuf 反序列化。
截图
安装
使用 brew
安装:
brew install kaskade
使用 pipx
安装:
pipx install kaskade
运行 kaskade
管理视图:
kaskade admin -b my-kafka:9092
消费者视图:
kaskade consumer -b my-kafka:9092 -t my-topic
配置示例
多个引导服务器:
kaskade admin -b my-kafka:9092,my-kafka:9093
消费和反序列化:
kaskade consumer -b my-kafka:9092 -t my-topic -k json -v json
从头开始消费:
kaskade consumer -b my-kafka:9092 -t my-topic -x auto.offset.reset=earliest
Schema Registry 简单连接和 Avro 反序列化:
kaskade consumer -b my-kafka:9092 \
-s url=http://my-schema-registry:8081 \
-t my-topic -k avro -v avro
有关 Schema Registry 配置的更多信息,请访问:Confluent Schema Registry 客户端。
SSL 加密示例:
kaskade admin -b my-kafka:9092 -x security.protocol=SSL
有关 SSL 加密和 SSL 认证的更多信息,请访问:librdkafka 中的 SSL 支持。
Confluent Cloud 管理和消费者:
kaskade admin -b ${BOOTSTRAP_SERVERS} \
-x security.protocol=SASL_SSL \
-x sasl.mechanism=PLAIN \
-x sasl.username=${CLUSTER_API_KEY} \
-x sasl.password=${CLUSTER_API_SECRET}
kaskade consumer -b ${BOOTSTRAP_SERVERS} \
-x security.protocol=SASL_SSL \
-x sasl.mechanism=PLAIN \
-x sasl.username=${CLUSTER_API_KEY} \
-x sasl.password=${CLUSTER_API_SECRET} \
-s url=${SCHEMA_REGISTRY_URL} \
-s basic.auth.user.info=${SR_API_KEY}:${SR_API_SECRET} \
-t my-topic \
-k string \
-v avro
有关 Confluent Cloud 配置的更多信息,请访问:Confluent Cloud 的 Kafka 客户端快速入门。
使用 Docker 运行:
docker run --rm -it --network my-networtk sauljabin/kaskade:latest \
admin -b my-kafka:9092
docker run --rm -it --network my-networtk sauljabin/kaskade:latest \
consumer -b my-kafka:9092 -t my-topic
Protobuf 消费者:
安装 protoc
命令:
brew install protobuf
从 .proto
文件生成描述符集文件:
protoc --include_imports \
--descriptor_set_out=my-descriptor.desc \
--proto_path=${PROTO_PATH} \
${PROTO_PATH}/my-proto.proto
使用 my-descriptor.desc
文件进行消费:
kaskade consumer -b my-kafka:9092 -x auto.offset.reset=earliest \
-k string -v protobuf \
-t my-protobuf-topic \
-p descriptor=my-descriptor.desc -p value=mypackage.MyMessage
有关 Protobuf 和
FileDescriptorSet
的更多信息,请访问:Protocol Buffers 文档。
开发
有关开发说明,请参阅 DEVELOPMENT.md。