Hadoop的三大结构及其各自的作用

  • Hadoop 分布式文件系统(HDFS)

    • 存储大量数据:HDFS 被设计用于在商用硬件上存储大规模的数据集。它将数据分割成多个数据块,并将这些数据块分布存储在集群中的多个节点上,支持 PB 级甚至更大规模的数据存储。
    • 提供高可靠性:通过数据冗余存储来保证数据的可靠性,默认情况下,每个数据块会有三份副本存储在不同的节点上。这样即使部分节点出现故障,也不会导致数据丢失。同时,HDFS 还具备数据自动恢复功能,当检测到数据块丢失或损坏时,会自动从其他副本中复制数据来恢复。
    • 支持数据的顺序读写:HDFS 针对大规模数据的顺序读写进行了优化,适用于一次写入、多次读取的场景,如日志处理、数据分析等。它可以将数据块按照顺序存储在磁盘上,从而提高数据的读取效率。
  • YARN(Yet Another Resource Negotiator)
    • 资源管理:YARN 负责管理集群中的计算资源,包括 CPU、内存、磁盘等。它将这些资源抽象成统一的资源容器(Container),并根据应用程序的需求进行分配。
    • 任务调度:YARN 根据应用程序提交的任务请求,按照一定的调度策略,将任务分配到集群中的各个节点上执行。它可以同时管理多个应用程序的任务调度,确保资源的合理利用和任务的高效执行。
    • 应用程序管理:YARN 负责应用程序的生命周期管理,包括应用程序的提交、启动、监控和停止等。它为每个应用程序分配一个唯一的 ApplicationMaster,由 ApplicationMaster 负责与 YARN 进行通信,协调任务的执行。
  • MapReduce
    • 数据处理:MapReduce 是一种分布式计算模型,用于处理大规模的数据集。它将数据处理过程分为两个阶段:Map 阶段和 Reduce 阶段。在 Map 阶段,将输入数据分割成多个小块,然后由不同的节点并行处理,每个节点对数据进行映射操作,将输入数据转换为中间结果。在 Reduce 阶段,将 Map 阶段产生的中间结果进行汇总和合并,得到最终的处理结果。
    • 并行计算:MapReduce 能够充分利用集群中的多个节点进行并行计算,大大提高数据处理的效率。通过在多个节点上同时执行 Map 任务和 Reduce 任务,可以在短时间内处理大量的数据。
    • 容错处理:MapReduce 具有良好的容错机制,当某个节点出现故障时,它可以自动将任务重新分配到其他健康的节点上执行,不会影响整个数据处理过程的正确性和完整性。

这三大结构相互协作,共同实现了 Hadoop 在大规模数据存储、管理和处理方面的强大功能,为大数据处理提供了一个可靠、高效的平台。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值