Know Streaming 连接 Kafka

Know Streaming 是一个基于 Web 的 Kafka 可视化运维与监控平台,类似 Kafka UI、AKHQ、Kafka Manager。如果它“页面获取不到 Kafka 的数据”,可从以下维度进行排查:


✅ 一、确认基础网络连接是否通

1. 检查页面报错信息

打开浏览器 DevTools(F12)查看:

  • 是否出现 500 / 401 / CORS 错误?
  • 是否 JS 报错?
  • 是否有 API 请求返回异常(如 /api/kafka/clusters)?

2. Ping & Telnet Kafka Broker

在部署 Know Streaming 的服务器执行:

ping <kafka-broker-host>
telnet <kafka-broker-host> <port>

或者:

nc -vz <kafka-broker-host> <port>

常用端口:

  • 明文:9092
  • 加密:9093(SASL_SSL)
  • 内部 PLAINTEXT 有可能不同

✅ 二、Kafka 集群本身是否可访问

确认 Know Streaming 所配置的 Kafka 地址是正确并可访问的

1. 使用 kafka-console-consumer 测试连接

bin/kafka-console-consumer.sh \
  --bootstrap-server <broker-list> \
  --topic __consumer_offsets \
  --from-beginning \
  --timeout-ms 5000

若配置了 SASL:

bin/kafka-console-consumer.sh \
  --bootstrap-server <broker-list> \
  --topic test-topic \
  --consumer.config client.properties

client.properties 内容应包含:

security.protocol=SASL_PLAINTEXT
sasl.mechanism=SCRAM-SHA-512
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="xxx" password="xxx";

✅ 三、检查 Know Streaming 配置文件是否正确

配置文件一般位于 /conf/application.yaml 或类似位置。

检查内容(示例):

kafka:
  clusters:
    - name: kafka-cluster
      bootstrapServers: 172.30.30.101:9092
      security:
        protocol: SASL_PLAINTEXT
        mechanism: SCRAM-SHA-512
        jaas:
          username: kafka-6ffded0a-admin1
          password: xxx

✅ 配置项注意事项:

  • bootstrapServers 格式必须正确,不能带空格
  • protocolmechanism 是否与 Kafka 实际配置一致
  • 密码是否为空或写错

✅ 四、检查 Kafka 端是否启用了 ACL(访问控制)

如果 Kafka 启用了 authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer,需要显式授权 UI 的用户账号:

# 举例:给 admin 用户授予读 topic 权限
kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 \
  --add --allow-principal User:kafka-6ffded0a-admin1 \
  --operation Read --topic '*'

同时授权如下资源:

  • Topic:读取 __consumer_offsets 和普通 topic
  • Group:查看消费者组状态
  • Cluster:Describe 权限(用于列出 Broker)

✅ 五、日志排查(Know Streaming 自身)

查看 Know Streaming 服务日志,一般在:

logs/application.log
logs/know-streaming.log

关注关键词:

  • Connection refused
  • Timeout
  • Authentication failed
  • No route to host
  • Failed to get metadata

✅ 六、补充建议

场景建议
使用容器部署 Know Streaming容器与 Kafka 是否同网段?
Kafka 启用了 SASL/SSL看是否正确指定证书、协议等
Kafka 使用内外网不同 listeneradvertised.listeners 是否设置正确
Kafka 有多个 Broker检查所有 Broker 是否均能访问

✅ 快速诊断清单

检查项命令/方法是否通过
Kafka Broker 可访问telnet <host> 9092nc -vz✅/❌
Kafka 可消费使用 kafka-console-consumer.sh✅/❌
配置文件 bootstrapServers 正确application.yaml 中 Kafka 地址正确无误✅/❌
配置文件认证方式正确protocol、mechanism 与 Kafka 配置一致✅/❌
UI 用户是否被授权(Kafka ACL)kafka-acls.sh 显式授权✅/❌
Know Streaming 日志无连接报错logs/application.log 或控制台输出✅/❌

如果你贴出你当前的 application.yaml 配置、Kafka 的 server.properties、具体报错日志,我可以进一步精准分析问题。也可以生成 ACL 授权脚本、自动诊断脚本。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值