首页/网络/常用端口速查/2181 ZooKeeper 分布式协调
2000-2999 注册端口60 条

2181 ZooKeeper 分布式协调

Apache ZooKeeper 客户端端口:Kafka、HBase、Solr 等大数据组件的元数据与选主协调核心。

常用端口速查网络更新于 2026-10-13

ZooKeeper 与 2181 端口

2181 是 ZooKeeper 的客户端端口,集群内部的角色分工另有专门端口:2888 用于 Follower 与 Leader 之间的数据同步,3888 用于选举投票。ZooKeeper 常被 Kafka、HBase、Solr 等系统用来存放元数据与服务注册信息,未授权访问时可以读取甚至写入这些节点数据,进而影响依赖它的整套服务。

基本信息

服务ZooKeeper(客户端连接端口)
协议TCP(配置中常写作 clientPort)
集群端口2888 数据同步、3888 选举投票
典型依赖Kafka、HBase、Solr 等组件的元数据存储
权限要求仅业务网段可达,按需启用访问控制
配置文件zoo.cfg,含 dataDir、clientPort 与四字命令白名单

典型使用场景

  • Kafka 集群元数据:Broker 注册、主题与分区信息
  • HBase 与 Solr 的集群协调与状态存储
  • 服务注册与配置下发,业务系统读取节点数据获知依赖状态
  • 分布式协调:分布式锁与主节点选举的基础设施
  • 集群运维:查看成员角色、连接数与运行指标

四字命令与集群检查

四字命令与集群检查
echo ruok | nc 10.0.0.21 2181          # 返回 imok 说明服务正常存活
echo mntr | nc 10.0.0.21 2181 | head -20   # 关键运行指标
# 关注 zk_server_state 与 zk_followers:集群中应只有一个 leader
echo stat | nc 10.0.0.21 2181 | head -10   # 连接数、模式与节点数
echo conf | nc 10.0.0.21 2181 | head -10   # 查看当前生效配置

常见指标判读

指标含义正常/异常
zk_server_state节点角色应恰好有一个 leader,其余为 follower
zk_followers跟随者数量与集群规模不符说明有节点掉线
zk_avg_latency平均请求延迟持续升高通常伴随磁盘或网络抖动
zk_outstanding_requests排队请求数长时间不为零说明处理能力不足
Connections当前连接数来自非业务网段的连接要核查

访问控制与加固要点

访问控制与加固要点
# zoo.cfg 片段:只监听内网地址
clientPort=2181
clientPortAddress=10.0.0.21        # 不要省略,否则可能绑定到所有网卡
# 四字命令白名单(较新版本支持),只放开运维所需的几条
4lw.commands.whitelist=ruok,mntr,stat,srvr
# 启用 ACL 后,客户端需携带认证信息才能读写受保护的节点
未授权的 ZooKeeper 可以被直接读取节点数据,也能被写入或删除;依赖它的 Kafka、HBase 会随之出现元数据异常,影响范围远超单个组件。
四字命令是重要的排查入口,但旧版本默认全部开放,较新版本可用白名单收敛;只放开 ruok、mntr、stat 这类只读命令,避免执行影响集群状态的命令。
排障顺序:先用 ruok 确认存活,再用 mntr 看角色与延迟,最后用 stat 或 srvr 看连接与请求情况;集群显示没有 leader 时优先检查 2888 与 3888 的连通性和节点时间同步。

易错点

  • 只看 2181 而漏掉 2888 与 3888,集群故障排查不完整
  • 四字命令默认全开,外部可直接获取集群信息
  • clientPortAddress 未指定导致绑定所有网卡,暴露面被放大
  • 未启用访问控制,任何可连的主机都能改写节点数据影响依赖组件

数据来源与参考

  • Apache ZooKeeper 官方文档(四字命令与 ACL)
  • IANA 端口注册表

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌