50090 端口是什么
50090 是 Hadoop 2.x 中 SecondaryNameNode 的 Web 端口,用于查看命名空间镜像与编辑日志的检查点进度,Hadoop 3 改为 9865。要特别注意它的角色:它不是热备,HA 场景对应的是 Standby NameNode;它只是定期把镜像与编辑日志合并,减轻 NameNode 重启时的回放压力。
基本信息
| 服务 | SecondaryNameNode 页面(Hadoop 2 默认 50090,Hadoop 3 改为 9865) |
|---|---|
| 协议 | HTTP over TCP |
| 用途 | 检查点进度与合并状态查看 |
| 常见误解 | 被当作 NameNode 的热备节点 |
| 配置项 | dfs.secondary.http.address |
| 安全等级 | 仅大数据内网 |
检查点没跑完会怎样
编辑日志会持续增长,NameNode 重启时需要回放的记录越来越多,重启时间可能从几分钟拉长到几十分钟。检查点完成时间与编辑日志规模是判断命名空间是否健康的关键信号,也是元数据膨胀最早显现的地方。
典型使用场景
- NameNode 重启变慢:先确认检查点是否按期完成,再怀疑磁盘与内存问题。
- 元数据容量评估:结合镜像大小与检查点间隔,判断是否需要调整合并周期。
- 故障演练准备:演练 NameNode 恢复前确认检查点可用,避免演练中长时间停机。
- 巡检指标化:把检查点时间与编辑日志大小做成可监控指标,异常提前报警。
- 值班认知纠正:说明它不是备用节点,避免真故障时选错恢复路径。
核对
核对
curl -sI http://snn01:50090/ | head -3 # 页面探活
curl -s http://snn01:50090/ | grep -i -A2 checkpoint | head -20 # 抓检查点相关字段
# 兼容 Hadoop 3 的探活
for p in 50090 9865; do curl -s -o /dev/null -w "$p %{http_code}\n" http://snn01:$p/; done
hdfs dfsadmin -report | head -5 # 集群概要页面字段读法
| 页面字段 | 含义 | 判读 |
|---|---|---|
| 检查点时间 | 最近一次合并完成的时间 | 长期不更新说明合并未完成或被跳过 |
| 编辑日志规模 | 待合并的记录量 | 持续增长会显著拉长 NameNode 重启时间 |
| 镜像大小 | 命名空间镜像规模 | 增长过快通常说明小文件过多或元数据膨胀 |
检查点间隔与编辑日志阈值都可以调整,但调整前要确认 NameNode 的磁盘与内存余量,盲目缩短间隔只会加重输入输出压力。
端口迁移到 9865 只在 Hadoop 3 生效。混布集群里同一角色的端口可能因版本不同而不同,巡检脚本要按节点版本区分。