• MapReduce工作原理图文详解 (炼数成金)


    MapReduce工作原理图文详解 

     1.Map-Reduce 工作机制剖析图:

    1.首先,第一步,我们先编写好我们的map-reduce程序,然后在一个client 节点里面进行提交.(一般来说可以在Hadoop集群里里面的任意一个节点进行,只要该节点装了Hadoop并且连入了Hadoop集群)

    2.job client 在收到这个请求以后呢,会找到JobTracker并且请求一个作业ID(Job ID)。(根据我们的核心配置文件,可以很轻易的找到JobTracker)

    3.通过HDFS 系统把这个作业的代码散发出去,

    4. 提交作业

    5.在JobTracker端开始初始化工作,比方说:在其内存里建立一系列数据结构,来记录这个Job的运行情况,其放在一个作业队列里,等待作业调度器对其进行调度等等

    6.JobTracker 会像HDFS的nameNode 询问有关的一些数据在哪些文件里面,然后这些文件分别散落在哪些节点里面,我们分别获知这些情况.因为这个作业,就是Map-reduce程序跟这个数据之间是 "就近运行" 的,就是程序必须要跟它所要处理的数据要放在一块,所以呢,这些信息是我们运行这个作业所必需的.

    7. 通关过JobTracker 和 TaskTracker 之间每分钟进行一次的心跳联系,可以知道有哪些 TaskTracker 可以参与到我们的计算里面来.比如说:这个 TaskTracker呢首先不应该是宕掉的,它是活着的.另外它的符合应该是比较低的.那它如果正在运行其他作业的话呢.那就不大适合在它很繁忙的时候就给他加上新的作业,那最好是一个空闲的节点,

    8.把那些要运行的 TaskTracker 给确定下来,就是有哪些TaskTracker可以参与我们的map-reduce计算里面去,于是呢,那些TaskTracker呢就会从HDFS里面把相关的Java代码给取过来,取过来以后呢,就开始架设这个Java的虚拟机,就是在它本地把它的Java虚拟机给跑起来.然后就运行这个作业的工作.

    这个大致的流程就是这样子. 

    以上内容来自: 炼数成金教程.

  • 相关阅读:
    Meta标签详解
    Python: 什么是*args和**kwargs
    如何进行 WebSocket 协议的压测
    在Mac上使用Microsoft Remote Desktop
    报表测试方法与注意事项
    Linux服务部署Yapi项目(安装Node Mongdb Git Nginx等) Linux服务部署Yapi
    mac安装brew(亲测)
    Linux下查看系统配置
    iTerm--比Terminal(终端)更好用的命令行工具
    协方差矩阵
  • 原文地址:https://www.cnblogs.com/mjorcen/p/3964953.html
Copyright © 2020-2023  润新知