上一篇
hadoop自带的web服务器
- 行业动态
- 2025-05-11
- 6
Hadoop自带基于Web的管理界面,如NameNode(50070)和ResourceManager(8088)提供集群状态监控与
Hadoop生态系统中内置了多个Web服务器模块,这些模块为集群管理、任务监控和数据调试提供了便捷的可视化界面,本文将系统梳理Hadoop自带Web服务器的核心功能、访问方式及应用场景,并通过配置参数说明帮助用户实现定制化管理。
Hadoop Web服务器核心组件
组件名称 | 默认端口 | URL路径 | 核心功能 |
---|---|---|---|
NameNode Web UI | 9870 | 文件系统元数据管理、数据块分布、节点状态监控 | |
ResourceManager Web UI | 8088 | YARN资源调度监控、应用进程追踪、容器分配管理 | |
JobHistory Server | 10020 | /jobhistory | 历史作业存档查询(需单独启动) |
NodeManager Web UI | 8042 | 单节点资源使用监控、容器日志查看、磁盘/内存状态 | |
Secondary NameNode | 50070 | 镜像编辑日志查看、Checkpoint操作(Hadoop 2.x特有) | |
Router Web UI | 8080 | 多服务聚合入口(需启用hadoop-router插件) |
核心组件功能详解
NameNode Web界面(HDFS核心管理)
- 概览页:展示文件系统容量(总空间/已使用/剩余)、DataNode数量、版本信息
- Utilities:支持浏览器上传文件到HDFS、创建/删除目录等基础操作
- Datanodes:实时显示各存储节点状态(版本/网络/磁盘健康度)、数据块分布热力图
- Settings:查看HDFS配置文件参数、日志级别等运行环境信息
- 示例访问:http://namenode_host:9870/
ResourceManager控制台(YARN资源调度)
- Cluster Summary:显示AM/PM进程数、内存/CPU使用率、队列资源分配
- Applications:按优先级排序的运行/排队/失败作业列表,支持终止/诊断操作
- Nodes:各NodeManager节点的资源占用饼图(内存/核数/容器数)
- Scheduler:动态资源池配置、队列容量调整(需管理员权限)
- 诊断工具:提供YARN日志聚合下载、失败容器标准输出查看
JobHistory Server(作业审计追踪)
- 时间轴视图:按天/周/月统计作业成功率、平均运行时长
- 作业详情页:包含DAG可视化、阶段耗时分析、Counter指标统计
- 资源消耗排行:展示历史作业的CPU/内存/IO消耗TOP榜单
- 数据保留策略:通过mapreduce.jobhistory.retain.hours参数控制存储时长
高级配置与优化
端口自定义配置
修改Hadoop环境变量HADOOP_CONF_DIR
下的配置文件:
<!-core-site.xml --> <property> <name>dfs.namenode.http-address</name> <value>namenode_host:9870</value> </property> <!-yarn-site.xml --> <property> <name>yarn.resourcemanager.webapp.address</name> <value>rm_host:8088</value> </property>
安全访问控制
- HTTP认证:启用
hadoop.security.authentication
参数并配置SPNEGO/Kerberos - IP白名单:通过
dfs.namenode.http.policy
设置允许访问的网段(DEFAULT/HTTP_STRICT/HTTPS_ONLY) - SSL加密:修改
dfs.https.enable
为true并配置密钥库
性能调优参数
参数 | 默认值 | 优化建议 |
---|---|---|
dfs.namenode.http.max.delay | 10s | 高并发场景设为30s |
yarn.resourcemanager.max-apps | 无限制 | 生产环境建议限制为5000 |
mapreduce.jobhistory.address | N/A | 独立部署时需显式指定主机端口 |
典型故障排查
症状 | 可能原因 | 解决方案 |
---|---|---|
Web页面加载超时 | NameNode负载过高/网络延迟 | 检查JVM堆内存使用率,优化DNS解析 |
认证失败(401) | Kerberos配置不匹配 | 同步krb5.conf配置,验证票据有效性 |
页面元素加载不全 | 浏览器兼容性问题 | 使用Chrome/Firefox最新版本访问 |
历史作业数据缺失 | JobHistory Server未启动 | 执行start-historyserver.sh 脚本 |
扩展功能实现
- 多租户隔离:通过YARN队列配置实现不同部门Web界面的权限隔离
- 自定义监控面板:开发WebHCat插件集成到ResourceManager控制台
- API集成:利用REST API接口将Hadoop指标导入Prometheus监控系统
FAQs
Q1:如何通过Web界面向HDFS上传大文件?
A1:在NameNode Web UI的Utilities页面,使用”Put File”功能选择本地文件,注意需满足以下条件:
- 文件大小不超过dfs.client.block.write.max参数限制(默认256MB)
- HDFS客户端配置正确(core-site.xml/hdfs-site.xml)
- NameNode有足够的处理能力(建议关闭安全模式)
Q2:ResourceManager页面显示”Applications Unavailable”如何处理?
A2:排查步骤:
- 检查yarn-site.xml中的
yarn.timeline-service.enabled
是否设为true - 确认TimelineServer服务已启动(默认端口8188)
- 清理ResourceManager工作目录(rm -rf $YARN_HOME/log/)
- 重启YARN服务栈(stop-yarn.sh && start-yarn.