经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 大数据/云/AI » Hadoop » 查看文章
大数据 - 框架 - Hadoop
来源:cnblogs  作者:划水De雁晓明  时间:2021/3/8 11:19:39  对本文有异议

 

Hadoop技术生态的组成部分:

  • Hadoop Common:支持Hadoop其他模块的通用工具
  • HDFS:分布式文件系统,提供了高吞吐量的数据访问(最初始模块之一)
  • YARN:作业调度和资源管理的框架
  • MapReduce:基于YARN的大数据分布式计算框架(最初始模块之一)

 

 

HDFS

利用多个商业硬件构成存储集群,利用namenode进行数据的存储控制,具有支持超大文件、存储灵活、可靠性高等特定,面对大量数据存储的时候,能够高效地工作。(但在处理大量小数据、需要进行低延迟数据访问和需要多用户访问写入等场景下,任存在不足。)其主要的组件如下:

    • Namenode: 管理者,负责文件系统的命名,记录所有文件和目录。同时,它还负责临时保存块的位置信息。
    • Datanode: 工作者,是文件系统的工作节点,根据需要存储并检索数据库,定期向namenode发送存储块,namenode则负责记录如何重建文件。

当通过文件系统接口访问数据,其实质是在于namenode和datanode进行交互,namenode像是大脑对神经的反馈进行综合处理,datanode则像是末梢神经。

 

 

MapReduce

  • 编程模型:Map阶段、Reduce阶段
  • 数据处理引擎:MapTask、ReduceTask
  • 运行时环境分两种:
    • (MR1): JobTracker(资源管理和作业控制)和TaskTracker(接受JT命令并具体执行)
    • (MR2): 是运行于YARN之上的计算框架,YARN(资源管理与调度)和ApplicationMaster(作业控制)。

 

 

YARN

  • 基本构造:
    • ResourceManager:全局的资源管理器,负责整个集群的资源管理、分配与调度。
    • Scheduler(调度器),纯调度器,默认下是Fair Scheduler
    • NodeManager:对每一个slave上的资源和任务做管理
      • 1) 定时的向RM汇报HearBeat(资源的使用情况和Container的运行状态)
      • 2) 接受来自AM的启动/停止的请求
    • Container:资源分配单位(MRv1中Slot),动态分配。
    • ApplicationMaster:每个APP都会包含一个AM,AM的功能包括:
      • 1) 向RM申请资源(用Container资源抽象)
      • 2) 将任务做进一步的分配
      • 3) 与NM通信启动/停止任务
      • 4) 跟踪每一个Task的运行状态(包括Failed后的操作)
  • 运行模式:

 

 

 

参考:

 

原文链接:http://www.cnblogs.com/yxmings/p/14494964.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号