Hadoop集群部署教程-P6
Hadoop集群部署教程(续)
第二十一章:监控与告警系统集成
21.1 Prometheus监控体系搭建
-
Exporter部署:
# 部署HDFS Exporter wget https://github.com/prometheus/hdfs_exporter/releases/download/v1.1.6/hdfs_exporter-1.1.6.linux-amd64.tar.gz tar -xzf hdfs_exporter-1.1.6.linux-amd64.tar.gz nohup ./hdfs_exporter --namenode.address=master:9870 &
-
关键监控指标:
- HDFS存储容量使用率
- DataNode存活状态
- YARN资源分配率
21.2 Grafana可视化配置
-
仪表盘模板导入:
# 导入Hadoop官方模板(ID: 12239) grafana-cli plugins install grafana-piechart-panel
-
告警规则示例:
# alert_rules.yml groups: - name: HDFS-Alerts rules: - alert: HDFSStorageCritical expr: hdfs_capacity_used_percent > 90 for: 5m labels: severity: critical
第二十二章:备份与灾难恢复
22.1 元数据备份方案
-
NameNode元数据备份:
# 创建检查点备份 hdfs dfsadmin -fetchImage /backup/namenode/latest.fsimage # 定期合并edits日志[^1] hdfs dfsadmin -rollEdits
-
自动化备份脚本:
#!/bin/bash BACKUP_DIR="/backup/$(date +%Y%m%d)" mkdir -p $BACKUP_DIR hdfs dfsadmin -fetchImage $BACKUP_DIR scp -r $BACKUP_DIR secondary_nn:/remote_backup/
22.2 数据恢复流程
-
灾难恢复步骤:
graph TD A[停止集群服务] --> B[恢复fsimage] B --> C[应用edits日志] C --> D[启动NameNode] D --> E[验证数据完整性]
第二十三章:性能调优实战
23.1 MapReduce参数优化
-
内存配置公式:
mapreduce.map.memory.mb = min( yarn.nodemanager.resource.memory-mb / containers-per-node, 8GB # 经验值上限 )
-
Shuffle阶段优化:
<!-- mapred-site.xml --> <property> <name>mapreduce.task.io.sort.mb</name> <value>512</value> <!-- 提高排序内存 --> </property> <property> <name>mapreduce.reduce.shuffle.parallelcopies</name> <value>20</value> <!-- 增加并行拷贝数 --> </property>
23.2 硬件级优化建议
-
|磁盘配置方案:|||
磁盘类型 适用场景 RAID级别 SSD JournalNode RAID1 HDD DataNode存储 JBOD -
网络拓扑优化:
# 配置机架感知 /etc/hadoop/conf/topology.sh
第二十四章:版本迁移指南
24.1 滚动升级流程
-
兼容性检查清单:
# 验证HDFS版本 hdfs dfsadmin -report | grep 'Storage type' # 检查API兼容性 hadoop checknative
-
分阶段升级步骤:
# 第一阶段:升级工具节点 sudo yum upgrade hadoop-client # 第二阶段:升级DataNodes pdsh -w datanode[1-10] "sudo yum upgrade hadoop-hdfs-datanode"
24.2 回滚机制
-
版本回退操作:
# 停止服务 systemctl stop hadoop-yarn-resourcemanager # 降级安装 yum downgrade hadoop-3.3.1 -y # 恢复配置 cp /backup/core-site.xml /etc/hadoop/conf/