zoukankan      html  css  js  c++  java
  • 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虚拟机给跑起来.然后就运行这个作业的工作.

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

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

  • 相关阅读:
    windows 安装操作系统时切换分区表格式
    parted分区工具用法
    gitlab使用外部的postgresql、外部的redis服务器
    CDN、浏览器缓存
    python自动解析301、302重定向链接
    【WPF】FillRule
    【C#】WM 消息大全
    【转】【C#】SendMessage
    【转】【C#】【Thread】【Task】多线程
    【转】【C#】【Thread】【Parallel】并行计算
  • 原文地址:https://www.cnblogs.com/mjorcen/p/3964953.html
Copyright © 2011-2022 走看看