Hadoop在Linux上的维护如何进行
导读:Linux上Hadoop维护实操手册 一 日常巡检与监控 进程与服务状态 使用jps确认关键进程:NameNode、DataNode、ResourceManager、NodeManager、JobHistoryServer。 启动/停止...
Linux上Hadoop维护实操手册
一 日常巡检与监控
- 进程与服务状态
- 使用jps确认关键进程:NameNode、DataNode、ResourceManager、NodeManager、JobHistoryServer。
- 启动/停止与全集群启停:
- 启动HDFS:$HADOOP_HOME/sbin/start-dfs.sh;停止:$HADOOP_HOME/sbin/stop-dfs.sh
- 启动YARN:$HADOOP_HOME/sbin/start-yarn.sh;停止:$HADOOP_HOME/sbin/stop-yarn.sh
- 启动全集群:$HADOOP_HOME/sbin/start-all.sh;停止:$HADOOP_HOME/sbin/stop-all.sh
- HistoryServer:$HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start|stop historyserver
- 集群健康与容量
- HDFS:hdfs dfsadmin -report(节点数、容量、使用率)、hdfs dfsadmin -safemode get(安全模式)
- YARN:yarn node -list、yarn application -list、yarn top
- Web UI
- NameNode:Hadoop 3.x 默认 http://namenode-host:9870;Hadoop 2.x 默认 http://namenode-host:50070
- ResourceManager:默认 http://rm-host:8088
- 第三方监控与系统指标
- 平台:Apache Ambari、Cloudera Manager、Ganglia、Prometheus + Grafana
- 系统工具:top/htop、iostat、netstat、nmon、sar 辅助定位CPU、内存、磁盘、网络瓶颈
二 日志管理与问题排查
- 日志位置与实时查看
- 组件日志默认在 $HADOOP_HOME/logs/,按组件与主机区分,例如:hadoop--namenode-.log
- 常用命令:tail -f、grep、head 快速定位错误与异常堆栈
- YARN应用日志
- 聚合日志:yarn logs -applicationId (跨容器聚合)
- 指定容器日志:yarn logs -applicationId -containerId
- 日志轮转与归档
- 使用 logrotate 管理日志体积,示例(/etc/logrotate.d/hadoop):
- /var/log/hadoop/.log { daily; rotate 7; compress; missingok; notifempty; }
- 使用 logrotate 管理日志体积,示例(/etc/logrotate.d/hadoop):
- 集中化与可视化
- 方案:Logstash/Flume 采集、Elasticsearch 存储、Kibana 可视化;或对接企业日志平台
三 存储与数据运维
- 健康检查与修复
- 全量检查:hdfs fsck /;文件级检查:hdfs fsck -files -blocks -locations
- 查看损坏块:hdfs fsck / -list-corruptfileblocks
- 数据均衡
- 启动均衡器:hdfs balancer -threshold 10(节点间使用率差不超过10%)
- 带宽控制(避免影响业务):dfs.datanode.balance.bandwidthPerSec、dfs.datanode.balance.max.concurrent.moves
- 退役与新增节点
- 退役:在 excludes 文件添加节点,执行 hdfs dfsadmin -refreshNodes,待复制完成后从集群移除
- 新增:配置 dfs.datanode.data.dir、同步 Hadoop 与 JDK、SSH免密、在 slaves/workers 增加主机并启动 DataNode/NodeManager,用 hdfs dfsadmin -report 校验注册
- 磁盘容错与在线替换
- 容忍坏盘:dfs.datanode.failed.volumes.tolerated(允许一定数量的坏盘而不退出进程)
- 在线更新数据目录:通过 hdfs dfsadmin -reconfig 动态生效,减少停机时间
四 配置与性能调优
- Linux系统层面
- 关闭不必要的服务,释放资源
- 提升文件描述符限制(如 nofile),优化内核网络与文件系统参数
- 使用 SSD、保证高带宽网络与多核CPU以匹配Hadoop并行特性
- Hadoop参数
- HDFS 块大小:依据数据规模与访问模式调整,降低 NameNode 元数据压力
- MapReduce/Tez 内存:按任务类型与容器规格合理设置 mapreduce.{ map|reduce} .memory.mb 等
- 启用压缩:中间数据与输出数据压缩(如 Snappy/LZO),减少 I/O 与网络开销
- 调度策略:结合队列与抢占策略,提升资源利用率与业务稳定性
五 安全与备份升级
- 安全
- 启用 Kerberos 认证,开启 HDFS 审计日志,最小化权限与网络访问控制
- 备份
- 定期备份 NameNode 元数据 与关键 配置文件;重要业务数据建立多副本与离线/异地备份
- 变更与升级
- 遵循“备份 → 灰度/滚动升级 → 验证 → 回滚预案”流程;升级前检查兼容性矩阵与变更窗口
- 例行维护清单
- 每日:检查 安全模式、节点存活、容量使用、告警
- 每周:日志轮转与清理、磁盘坏块巡检、慢节点/队列分析与调优
- 每月:均衡器、配置基线审计、容量规划与演练(故障/恢复)
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Hadoop在Linux上的维护如何进行
本文地址: https://pptw.com/jishu/786744.html
