科学工具
科学工具让世界更美好
让世界更美好

数据流处理工具:Redpanda Console(前身是 Kowl)数据流处理工具:Redpanda Console(前身是 Kowl)

Redpanda Console(前身是 Kowl)是一款数据流处理工具,能帮助用户管理和调试Kafka/Redpanda工作负载。

消息查看器 支持通过即席查询和动态筛选探索主题消息,可借助JavaScript函数过滤消息,编码类型包括JSON、Avro、Protobuf、CBOR、XML、MessagePack、文本和二进制(十六进制视图),除Protobuf和CBOR外,其余编码可自动识别。

消费者组管理 可列出所有活跃消费者组及其活跃组偏移量,支持按组、主题或分区编辑组偏移量,能删除消费者组。

主题概览 可浏览Kafka主题列表,查看主题配置、空间使用情况,列出消费单个主题的所有消费者,查看分区详情(如高低水位标记、消息计数等),能嵌入来自Git存储库的主题文档。

集群概览 可列出可用代理,查看其空间使用情况、机架ID、健康状态、配置等信息,能对集群中的代理有更深入的了解。

安全管理 可创建、列出或编辑Kafka访问控制列表(ACLs)和SASL-SCRAM用户。

模式注册表管理 可在模式注册表中列出和管理Avro、Protobuf或JSON模式的各个方面。

Kafka连接管理 可管理多个连接集群的连接器,修补配置,查看当前状态或重启任务。

Redpanda转换管理 可管理和监控部署在Redpanda集群中的数据转换。

Redpanda Console安装指南

兼容Redpanda或任意Kafka部署(v1.0.0+),需使用Web浏览器访问控制台,可通过Docker构建或作为跨所有平台(amd64/arm64)的单个二进制文件部署。

Redpanda Console提供预构建的Docker镜像、二进制构建和Helm图表,具体安装步骤可查看专用的安装文档。

1、本地运行Redpanda/Kafka

由于控制台在其自身容器中运行(有独立网络范围),需使用host.docker.internal作为引导服务器,DNS解析为宿主系统的IP地址。经纪人连接时会发送所有经纪人的DNS列表,需确保广告监听器相应连接,例如:PLAINTEXT://host.docker.internal:9092。

docker run -p 8080:8080 -e KAFKA_BROKERS=host.docker.internal:9092 docker.redpanda.com/redpandadata/console:latest

Linux用户可使用--network=host选项,以localhost:9092作为广告监听器,使用主机网络命名空间,控制台运行方式与在主机上执行类似。

docker run --network=host -p 8080:8080 -e KAFKA_BROKERS=localhost:9092 docker.redpanda.com/redpandadata/console:latest

2、远程运行Kafka(通过SASL_SSL和可信证书保护,如Confluent Cloud)

docker run -p 8080:8080 -e KAFKA_BROKERS=pkc-4r000.europe-west1.gcp.confluent.cloud:9092 -e KAFKA_TLS_ENABLED=true -e KAFKA_SASL_ENABLED=true -e KAFKA_SASL_USERNAME=xxx -e KAFKA_SASL_PASSWORD=xxx docker.redpanda.com/redpandadata/console:latest

3、无运行中的Kafka集群进行测试 可使用维护的docker-compose文件启动Redpanda和控制台:/docs/local。

本地开发环境设置

安装最新版Node.js v22和bun 1.2.4或更高版本,安装最新版Go,安装Docker(启动本地Redpanda集群需要)。

Redpanda Console由两部分组成,前端由React单页应用,后端基于Go的HTTP/RESTish API服务。

启动

1、前端启动

• 打开终端选项卡,进入/frontend目录。

• 运行bun install安装所需前端依赖。

• 运行bun start启动React代理,提供前端服务,可通过http://localhost:3000访问前端,但由于前端尚未连接API,可能会返回错误。通过bun启动前端时,错误显示方式不同,会提供更多开发期间有用的选项。

2、后端启动

• 浏览至/docs/local目录,运行docker compose up -d启动Docker容器(若使用远程运行的Redpanda/Kafka集群,可跳过此步骤)。

• 切换至/backend目录,运行KAFKA_BROKERS=localhost:9092 SERVEFRONTEND=false SERVER_LISTENPORT=9090 go run cmd/api/main.go。若计划进行后端开发,建议使用IDE启动Go二进制文件,以便在启动时附加调试器。