当前位置: 首页 > news >正文

Hadoop生态圈拓展内容(一)

1. Hadoop的主要部分及其作用

HDFS(Hadoop分布式文件系统)

HDFS是一个高容错、高可靠性、高可扩展性、高吞吐率的分布式文件存储系统,负责海量数据的存储。

YARN(资源管理调度系统)

YARN是Hadoop的资源管理调度系统,负责Hadoop生态系统中任务的调度和监控。

MapReduce(分布式并行计算框架)

MapReduce是基于HDFS和YARN的分布式并行计算框架,负责海量数据的计算。

2. Hadoop生态圈组件及其作用

Hive(离线数据仓库)

Hive是基于HDFS,结合类SQL引擎,底层执行MapReduce任务,用于OLAP分析查询的数据仓库。它使得不熟悉MapReduce的用户也能通过类SQL语言(HQL)进行数据查询和分析。

Zookeeper(管理员)

Zookeeper是一个分布式协调服务,为用户的分布式应用程序提供协调服务,如主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务等。

Kafka(消息通信中间件)

Kafka是一个高吞吐量的分布式发布订阅消息系统,主要用于处理实时数据流。

Flume(日志传输组件)

Flume是一个分布式、可靠、高可用的海量日志收集、聚合、移动的工具,通俗来说,Flume就是一个日志采集工具。

Spark(批处理计算框架)

Spark是一个快速、通用的集群计算系统,支持批处理和流处理,适用于数据挖掘和机器学习等需要迭代的算法。

Flink(流处理计算框架)

Flink是一个基于内存的分布式并行处理框架,主要用于流数据处理,但也支持批处理。

3. Hadoop集群工作时启动的进程及其作用

NameNode(NN)

NameNode是Hadoop中的主服务器,管理文件系统名称空间和对集群中存储的文件访问。

Secondary NameNode(SNN)

Secondary NameNode不是NameNode的冗余守护进程,而是提供周期性检查点和清理任务,帮助NameNode合并editslog,减少NameNode的启动时间。

DataNode(DN)

DataNode提供真实的文件数据的存储服务,以数据块的形式存储HDFS文件,并响应HDFS客户端的读写请求。

ResourceManager(RM)

ResourceManager负责整个集群资源的管理和调度,包括对ApplicationMaster的管理、NodeManager的管理、Application管理等。

NodeManager(NM)

NodeManager主要处理来自ResourceManager分配的任务,监测并报告Container使用信息给ResourceManager。

JournalNode(JN)

JournalNode用于两个NameNode之间的数据同步,确保在集群出错时,命名空间状态已经完全同步。

4. Hadoop集群计算的主要瓶颈

  1. 网络带宽:网络带宽不足会导致数据传输速度慢,影响集群计算性能。
  2. 存储性能:存储系统的读写能力较低会影响数据的读取和写入速度。
  3. 处理能力:节点的计算能力和数据量都会影响整体计算能力。
  4. 内存容量:内存不足会导致数据无法完全加载到内存中,影响性能。
  5. 数据倾斜:数据分布不均匀会导致某些节点的数据负载过重,成为集群的瓶颈。

5. Hadoop集群的XML配置文件

  1. core-site.xml:配置Hadoop的核心参数,如文件系统默认方案、HDFS地址等。
  2. hdfs-site.xml:配置HDFS的相关参数,如副本数量、数据块大小等。
  3. mapred-site.xml:配置MapReduce相关参数,如作业跟踪器地址、任务分配器等。
  4. yarn-site.xml:配置YARN相关参数,如资源管理器地址、节点管理器等。
  5. hive-site.xml:配置Hive的相关参数,如元数据存储位置、数据库连接等。

6. Hadoop的Checkpoint流程

  1. 启动 Secondary NameNode

    Secondary NameNode 启动并定期检查 NameNode 的 EditLog 和 FsImage。
  2. 下载元数据

    Secondary NameNode 从 NameNode 下载最新的 FsImage 和 EditLog 文件。
  3. 合并元数据

    Secondary NameNode 将 EditLog 中的变更操作应用到下载的 FsImage 上,生成一个新的合并后的 FsImage 文件。
  4. 上传新 FsImage

    Secondary NameNode 将新的 FsImage 文件上传回 NameNode,并通知 NameNode 该文件已生成。
  5. 更新元数据

    NameNode 将新的 FsImage 文件保存为当前的元数据快照,并将 EditLog 文件截断或重命名为新的文件,开始记录新的变更操作。

补充说明:

EditLog(edits)

NameNode 持续记录文件系统元数据的所有变更操作到 EditLog 文件中。

FsImage(fsimage)

NameNode 会定期将当前的文件系统元数据快照存储到 FsImage 文件中。

Checkpoint

Secondary NameNode 会周期性地将 EditLog 应用到最新的 FsImage 上,并生成一个新的合并后的 FsImage 文件,称为 checkpoint。

http://www.lryc.cn/news/439988.html

相关文章:

  • 使用随机森林模型在digits数据集上执行分类任务
  • 后端开发刷题 | 打家劫舍
  • 欧美游戏市场的差异
  • DeDeCMS靶场漏洞复现
  • Transformer模型详细步骤
  • LC并联电路在正弦稳态下的传递函数推导(LC并联谐振选频电路)
  • 【前后端】大文件切片上传
  • 图像处理 -- ISP功能之局部对比度增强 LCE
  • C++速通LeetCode简单第5题-回文链表
  • 【Java 优选算法】双指针(下)
  • 动态规划:07.路径问题_珠宝的最大价值_C++
  • COMDEL电源CX2500S RF13.56MHZ RF GENERATOR手侧
  • GPU加速生物信息分析的尝试
  • 【零散技术】详解Odoo17邮件发送(一)
  • 函数题 6-5 求自定类型元素的最大值【PAT】
  • Python---爬虫
  • 设计模式之组合设计模式
  • Java汽车销售管理
  • js TypeError: Cannot read property ‘initialize’ of undefined
  • 【Motion Forecasting】【摘要阅读】BANet: Motion Forecasting with Boundary Aware Network
  • Cpp快速入门语法(下)(2)
  • 【GO开发】MacOS上搭建GO的基础环境-Hello World
  • 探索轻量级语言模型 GPT-4O-mini 的无限可能
  • CSS 笔记 1
  • 2024/9/16 dataloader、tensorboard、transform
  • C/C++语言基础--从C到C++的不同(下),15个部分说明C与C++的不同
  • 物理感知扩散的 3D 分子生成模型 - PIDiff 评测
  • 蓝桥杯-基于STM32G432RBT6的LCD进阶(LCD界面切换以及高亮显示界面)
  • 2022高教社杯全国大学生数学建模竞赛C题 问题一(1) Python代码
  • 【3D打印】3D打印机运动控制“Gcode”