Pulsar broker 二进制口
Apache Pulsar broker 的二进制协议端口:生产者和消费者通过 pulsar:// 在 6650 上完成 topic 发现、消息收发与订阅管理,broker 之间也会用它做重定向与复制。同一进程通常还开 8080 的 HTTP 管理面(admin API 与控制台)和 8081 的指标口;启用 TLS 时客户端改连 6651。
基本信息
| 服务 | Apache Pulsar broker |
|---|---|
| 协议 | TCP(Pulsar binary protocol) |
| 默认端口 | 6650(TLS 6651;HTTP 8080;指标 8081) |
| 鉴权 | JWT / OAuth2 等,需显式开启 |
| 暴露面 | 仅消息网段 |
典型使用场景
- 业务服务以 pulsar://broker:6650 生产与消费消息
- 多租户隔离:按租户/命名空间发放 token,在 6650 上先认证再建连
- Pulsar Functions 与 Connector 连 broker 拉取上游数据
- broker 扩容后客户端靠它完成 topic 归属查询与重定向
- 跨集群复制:broker 之间在同端口上做数据同步
部署与核对
部署与核对
ss -lntp | grep -E '665[01]|808[01]' # 监听核对
bin/pulsar-admin brokers list standalone # 管理面确认 broker
bin/pulsar-client produce persistent://public/default/t1 -m 'hello' # 发一条测试消息
# 客户端连接串: pulsar://broker01:6650排障与核对
| 检查项 | 做法 | 异常表现 |
|---|---|---|
| 监听 | ss -lntp | grep 6650 | 只有 8080 在听:客户端报 broker 不可用 |
| 鉴权开关 | 不带 token 建连测试 | 能收发说明认证没开,消息面完全开放 |
| topic 可见性 | pulsar-admin topics list <tenant/ns> | 端口通但拉不到 topic:权限或命名空间配置问题 |
| 重定向 | broker 日志中的 lookup 记录 | 地址 advertised 成内网名,跨网客户端无法重定向 |
6650 上跑的是二进制协议,抓包看不到可读 JSON;排障优先用 pulsar-admin 查 broker 与 topic 状态,再看 broker 日志里的 lookup 与鉴权记录,比在 6650 上做应用层抓包有效得多。
未开启鉴权的 6650 等于公共消息池:任何可达主机都能创建 topic、订阅业务消息、伪造生产流量,破坏力取决于集群里跑着什么业务。
端口与组件对照
Pulsar 集群里每个端口都有明确分工:6650 是 broker 二进制协议,6651 是启用 TLS 后的 broker 口,8080 是 admin API 与控制台,8081 是指标,BookKeeper 另用 3181。排障时先确认问题出在哪个组件,再决定查哪个端口,可以省掉大量无效抓包。
客户端连接串有 pulsar:// 与 pulsar+ssl:// 两种,集群开启 TLS 后仍用 6650 的老客户端会直接建连失败;升级期间保留双口监听并给客户端灰度时间,比一次性切换稳妥。