16020 端口是什么
16020 是 HBase 2.x 中 RegionServer 的默认 RPC 端口,客户端的读写请求与 Master 下发的协调指令都经它收发,配套的状态页面在 16030。老文档里的 60020 属于 HBase 1.x,2.x 之后整套端口迁到 160xx 段,混版本环境里端口对不上是最常见的弯路。
基本信息
| 服务 | HBase RegionServer RPC(2.x 默认 16020,1.x 为 60020) |
|---|---|
| 协议 | TCP 上的 HBase RPC |
| 用途 | Region 数据读写、接收 Master 指令 |
| 配套端口 | 16030 状态页面、16000 Master RPC |
| 配置项 | hbase.regionserver.port |
| 安全等级 | 仅大数据内网 |
这个端口常见哪类问题
客户端读写超时、Region 不可用、RegionServer 掉线,都要先确认 16020 是否可达。Region 迁移期间该端口上的请求会短暂失败,属于正常现象;如果持续失败,多半是 RegionServer 进程异常或跨节点链路被拦。
典型使用场景
- 客户端读写超时:先核对目标 RegionServer 的 16020 是否可达,再查它的日志。
- 版本迁移核对:从 1.x 升到 2.x 时同步更新防火墙规则与客户端配置,避免端口不一致。
- Region 分布均衡:结合状态页面确认 Region 数量分布,判断是否需要手动均衡。
- 集群扩容:新节点加入前确认端口连通性与配置项一致。
- 巡检自动化:把端口连通性与进程存活纳入定时检查。
核对
核对
ss -lntp | grep 16020 # 本机是否监听
# hbase-site.xml 关键配置:hbase.regionserver.port 默认 16020
# HBase 1.x 对照端口为 60020
grep -rn 'regionserver.port' $HBASE_HOME/conf/ | head # 确认实际生效配置
for h in rs01 rs02 rs03; do nc -zv $h 16020; done # 批量连通性核对输出逐列读法
| 列 | 含义 | 判读 |
|---|---|---|
| State | 套接字状态 | 监听属正常;大量已建立连接说明负载较高 |
| Recv-Q 与 Send-Q | 收发队列长度 | 持续积压常与 Region 热点或磁盘慢相关 |
| Local Address:Port | 监听地址与端口 | 应限制在集群内网,暴露到外部没有业务必要 |
| 日志关键字 | 排查线索 | Region 迁移与超时日志可判断问题出在端口还是数据层 |
RegionServer 掉线后 Master 会重新分配 Region,期间客户端会看到短暂失败。先确认是否处于正常迁移窗口,再判断是否为故障,否则容易做出过度反应。
从 1.x 迁移到 2.x 时端口整体变化,客户端配置、防火墙规则与监控探针三处都要同步,漏掉任何一处都会表现为看似随机的超时。