Hadoop集群部署教程-P6

Hadoop集群部署教程-P6

Hadoop集群部署教程(续)

第二十一章:监控与告警系统集成

21.1 Prometheus监控体系搭建

  1. 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 &
    
  2. 关键监控指标

    • HDFS存储容量使用率
    • DataNode存活状态
    • YARN资源分配率

21.2 Grafana可视化配置

  1. 仪表盘模板导入

    # 导入Hadoop官方模板(ID: 12239)
    grafana-cli plugins install grafana-piechart-panel
    
  2. 告警规则示例

    # alert_rules.yml
    groups:
    - name: HDFS-Alertsrules:- alert: HDFSStorageCriticalexpr: hdfs_capacity_used_percent > 90for: 5mlabels:severity: critical
    

第二十二章:备份与灾难恢复

22.1 元数据备份方案

  1. NameNode元数据备份

    # 创建检查点备份
    hdfs dfsadmin -fetchImage /backup/namenode/latest.fsimage
    # 定期合并edits日志[^1]
    hdfs dfsadmin -rollEdits
    
  2. 自动化备份脚本

    #!/bin/bash
    BACKUP_DIR="/backup/<span class="katex--inline"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mo stretchy="false">(</mo><mi>d</mi><mi>a</mi><mi>t</mi><mi>e</mi><mo>+</mo><mi>m</mi><mi>k</mi><mi>d</mi><mi>i</mi><mi>r</mi><mo>−</mo><mi>p</mi></mrow><annotation encoding="application/x-tex">(date +%Y%m%d)&quot;
    mkdir -p </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:1em;vertical-align:-0.25em;"><span class="mopen">(</span><span class="mord mathnormal">d</span><span class="mord mathnormal">a</span><span class="mord mathnormal">t</span><span class="mord mathnormal">e</span><span class="mspace" style="margin-right:0.2222em;"><span class="mbin">+</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="base"><span class="strut" style="height:0.7778em;vertical-align:-0.0833em;"><span class="mord mathnormal" style="margin-right:0.03148em;">mk</span><span class="mord mathnormal">d</span><span class="mord mathnormal">i</span><span class="mord mathnormal" style="margin-right:0.02778em;">r</span><span class="mspace" style="margin-right:0.2222em;"><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="base"><span class="strut" style="height:0.625em;vertical-align:-0.1944em;"><span class="mord mathnormal">p</span></span></span></span></span>BACKUP_DIR
    hdfs dfsadmin -fetchImage <span class="katex--inline"><span class="katex"><span class="katex-mathml"><math xmlns="http://www.w3.org/1998/Math/MathML"><semantics><mrow><mi>B</mi><mi>A</mi><mi>C</mi><mi>K</mi><mi>U</mi><msub><mi>P</mi><mi>D</mi></msub><mi>I</mi><mi>R</mi><mi>s</mi><mi>c</mi><mi>p</mi><mo>−</mo><mi>r</mi></mrow><annotation encoding="application/x-tex">BACKUP_DIR
    scp -r </annotation></semantics></math></span><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:0.8778em;vertical-align:-0.1944em;"><span class="mord mathnormal" style="margin-right:0.05017em;">B</span><span class="mord mathnormal">A</span><span class="mord mathnormal" style="margin-right:0.07153em;">C</span><span class="mord mathnormal" style="margin-right:0.07153em;">K</span><span class="mord mathnormal" style="margin-right:0.10903em;">U</span><span class="mord"><span class="mord mathnormal" style="margin-right:0.13889em;">P</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.3283em;"><span style="top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;"><span class="pstrut" style="height:2.7em;"><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight" style="margin-right:0.02778em;">D</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.15em;"><span></span></span></span></span></span><span class="mord mathnormal" style="margin-right:0.07847em;">I</span><span class="mord mathnormal" style="margin-right:0.00773em;">R</span><span class="mord mathnormal">sc</span><span class="mord mathnormal">p</span><span class="mspace" style="margin-right:0.2222em;"><span class="mbin">−</span><span class="mspace" style="margin-right:0.2222em;"></span><span class="base"><span class="strut" style="height:0.4306em;"><span class="mord mathnormal" style="margin-right:0.02778em;">r</span></span></span></span></span>BACKUP_DIR secondary_nn:/remote_backup/
    </span></span></span></span></span></span></span></span></span></span></span></span></span>

22.2 数据恢复流程

  1. 灾难恢复步骤

    graph TD A[停止集群服务] --> B[恢复fsimage] B --> C[应用edits日志] C --> D[启动NameNode] D --> E[验证数据完整性]

第二十三章:性能调优实战

23.1 MapReduce参数优化

  1. 内存配置公式

    mapreduce.map.memory.mb = min(yarn.nodemanager.resource.memory-mb / containers-per-node,8GB  # 经验值上限
    )
    
  2. 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 硬件级优化建议

  1. |磁盘配置方案:|||

    磁盘类型适用场景RAID级别
    SSDJournalNodeRAID1
    HDDDataNode存储JBOD
  2. 网络拓扑优化

    # 配置机架感知
    /etc/hadoop/conf/topology.sh
    

第二十四章:版本迁移指南

24.1 滚动升级流程

  1. 兼容性检查清单

    # 验证HDFS版本
    hdfs dfsadmin -report | grep 'Storage type'
    # 检查API兼容性
    hadoop checknative
    
  2. 分阶段升级步骤

    # 第一阶段:升级工具节点
    sudo yum upgrade hadoop-client
    # 第二阶段:升级DataNodes
    pdsh -w datanode[1-10] "sudo yum upgrade hadoop-hdfs-datanode"
    

24.2 回滚机制

  1. 版本回退操作

    # 停止服务
    systemctl stop hadoop-yarn-resourcemanager
    # 降级安装
    yum downgrade hadoop-3.3.1 -y
    # 恢复配置
    cp /backup/core-site.xml /etc/hadoop/conf/
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/77067.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Altium】AD-生成PDF文件图纸包含太多的空白怎么解决

1、 文档目标 AD设计文件导出PDF时&#xff0c;图纸模板方向设置问题 2、 问题场景 AD使用Smart PDF导出PDF时&#xff0c;不管你怎么设置页面尺寸&#xff0c;只要从横向转为纵向输出&#xff0c;输出的始终是横向纸张&#xff08;中间保留纵向图纸&#xff0c;两边大量留白…

大厂面试:六大排序

前言 本篇博客集中了冒泡&#xff0c;选择&#xff0c;二分插入&#xff0c;快排&#xff0c;归并&#xff0c;堆排&#xff0c;六大排序算法 如果觉得对你有帮助&#xff0c;可以点点关注&#xff0c;点点赞&#xff0c;谢谢你&#xff01; 1.冒泡排序 //冒泡排序&#xff…

大模型开发:源码分析 Qwen 2.5-VL 视频抽帧模块(附加FFmpeg 性能对比测试)

目录 qwen 视频理解能力 messages 构建 demo qwen 抽帧代码分析 验证两个实际 case 官网介绍图 性能对比&#xff1a;ffmpeg 抽帧、decord 库抽帧 介绍 联系 对比 测试结果 测试明细 ffmpeg 100 qps 测试&#xff08;CPU&#xff09; decord 100 qps 测试&#x…

git的上传流程

好久没使用git 命令上传远程仓库了。。。。。温习了一遍&#xff1b; 几个注意点--单个文件大小不能超过100M~~~ 一步步运行下面的命令&#xff1a; 进入要上传的文件夹内&#xff0c;点击git bash 最终 hbu的小伙伴~有需要nndl实验的可以自形下载哦

驱动学习专栏--字符设备驱动篇--2_字符设备注册与注销

对于字符设备驱动而言&#xff0c;当驱动模块加载成功以后需要注册字符设备&#xff0c;同样&#xff0c;卸载驱动模 块的时候也需要注销掉字符设备。字符设备的注册和注销函数原型如下所示 : static inline int register_chrdev(unsigned int major, const char *name, const…

redis 放置序列化的对象,如果修改对象,需要修改版本号吗?

在 Redis 中存储序列化对象时,如果修改了对象的类结构(例如增删字段、修改字段类型或顺序),是否需要修改版本号取决于序列化协议的兼容性策略和业务场景的容错需求。以下是详细分析: 1. 为什么需要考虑版本号? 序列化兼容性问题: 当对象的类结构发生变化时,旧版本的序列…

WPF ObjectDataProvider

在 WPF(Windows Presentation Foundation)中,ObjectDataProvider 是一个非常有用的类,用于将非 UI 数据对象(如业务逻辑类或服务类)与 XAML 绑定集成。它允许在 XAML 中直接调用方法、访问属性或实例化对象,而无需编写额外的代码。以下是关于 ObjectDataProvider 的详细…

深度学习-损失函数 python opencv源码(史上最全)

目录 定义 种类 如何选择损失函数&#xff1f; 平方&#xff08;均方&#xff09;损失函数&#xff08;Mean Squared Error, MSE&#xff09; 均方根误差 交叉熵 对数损失 笔记回馈 逻辑回归中一些注意事项&#xff1a; 定义 损失函数又叫误差函数、成本函数、代价函数…

poll为什么使用poll_list链表结构而不是数组 - 深入内核源码分析

一&#xff1a;引言 在Linux内核中,poll机制是一个非常重要的I/O多路复用机制。它允许进程监视多个文件描述符,等待其中任何一个进入就绪状态。poll的内部实现使用了poll_list链表结构而不是数组,这个设计选择背后有其深层的技术考量。本文将从内核源码层面深入分析这个设计决…

使用 Azure AKS 保护 Kubernetes 部署的综合指南

企业不断寻求增强其软件开发和部署流程的方法。DevOps 一直是这一转型的基石,弥合了开发与运营之间的差距。然而,随着安全威胁日益复杂,将安全性集成到 DevOps 流水线(通常称为 DevSecOps)已变得势在必行。本指南深入探讨了如何使用 Azure Kubernetes 服务 (AKS) 来利用 D…

2025年常见渗透测试面试题-webshell免杀思路(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 webshell免杀思路 PHP免杀原理 webshell免杀测试&#xff1a; webshell免杀绕过方法&#xff1a; 编…

访问不到服务器上启动的llamafactory-cli webui

采用SSH端口转发有效&#xff0c;在Windows上面进行访问 在服务器上启动 llamafactory-cli webui 后&#xff0c;访问方式需根据服务器类型和网络环境选择以下方案&#xff1a; 一、本地服务器&#xff08;物理机/虚拟机&#xff09; 1. 直接访问 若服务器与操作设备处于同一…

基于 LSTM 的多特征序列预测-SHAP可视化!

往期精彩内容&#xff1a; 单步预测-风速预测模型代码全家桶-CSDN博客 半天入门&#xff01;锂电池剩余寿命预测&#xff08;Python&#xff09;-CSDN博客 超强预测模型&#xff1a;二次分解-组合预测-CSDN博客 VMD CEEMDAN 二次分解&#xff0c;BiLSTM-Attention预测模型…

C++ 编程指南35 - 为保持ABI稳定,应避免模板接口

一&#xff1a;概述 模板在 C 中是编译期展开的&#xff0c;不同模板参数会生成不同的代码&#xff0c;这使得模板类/函数天然不具备 ABI 稳定性。为了保持ABI稳定&#xff0c;接口不要直接用模板&#xff0c;先用普通类打个底&#xff0c;模板只是“外壳”&#xff0c;这样 AB…

【iOS】OC高级编程 iOS多线程与内存管理阅读笔记——自动引用计数(二)

自动引用计数 前言ARC规则所有权修饰符**__strong修饰符**__weak修饰符__unsafe_unretained修饰符__autoreleasing修饰符 规则属性数组 前言 上一篇我们主要学习了一些引用计数方法的内部实现&#xff0c;现在我们学习ARC规则。 ARC规则 所有权修饰符 OC中&#xff0c;为了处…

可信空间数据要素解决方案

可信空间数据要素解决方案 一、引言 随着数字经济的蓬勃发展&#xff0c;数据已成为重要的生产要素。可信空间数据要素解决方案旨在构建一个安全、可靠、高效的数据流通与应用环境&#xff0c;促进数据要素的合理配置和价值释放&#xff0c;推动各行业的数字化转型和创新发展…

mysql删除表后重建表报错Tablespace exists

版本 mysql:8.0.23 复现步骤 1、删除表 DROP TABLE IF EXISTS xxx_demo; 2、新建表 CREATE TABLE xxx_demo (id bigint NOT NULL AUTO_INCREMENT COMMENT 主键id,creator varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT COMMENT 创建者,c…

【Leetcode-Hot100】缺失的第一个正数

题目 解答 有一处需要注意&#xff0c;我使用注释部分进行交换值&#xff0c;报错&#xff1a;超出时间限制。有人知道是为什么吗&#xff1f;难道是先给nums[i]赋值后&#xff0c;从而改变了后一项的索引&#xff1f; class Solution(object):def firstMissingPositive(sel…

从单模态到多模态:五大模型架构演进与技术介绍

前言 1. ResNet — 残差神经网络背景核心问题与解决方案原理模型架构ResNet 系列变体技术创新与影响 2. ViT — Vision Transformer背景核心思想发展历程Transformer的起源&#xff1a;ViT的出现&#xff1a;ViT的进一步发展&#xff1a; 模型架构技术创新与影响 3. Swin Trans…

JavaScript事件循环

目录 JavaScript 执行机制与事件循环 一、同步与异步代码 1. 同步代码&#xff08;Synchronous Code&#xff09; 2. 异步代码&#xff08;Asynchronous Code&#xff09; 二、事件循环&#xff08;Event Loop&#xff09; 1. 核心组成 2. 事件循环基本流程 3. 运行机制…