| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> MapReduce介绍 -> 正文阅读 |
|
[大数据]MapReduce介绍 |
什么是MapReduce?MapReduce是一个将分布式计算抽象为Map和Reduce两个阶段的编程模型。 一个完整的MapReduce必须要有Mapper,但是可以没有reduce。 MapReduce主要的四个部分1、客户端Client 作用: (1)用户编写的应用程序要通过客户端Client来提交给作业跟踪器JobTracker。 (2)用户可以通过客户端Client提供的接口查看所提交作业的运行状况。 2、作业跟踪器JobTracker 作用: (1)负责资源监控和作业调度 (2)监控底层任务跟踪器TaskTracker和当前运行Job的健康状况。 (3)在节点失效时,转移Job到其他以节点继续运行。 (4)跟踪任务执行进度和资源使用量,并把信息发送给任务调度器TaskScheduler。 3、任务调度器TaskScheduler 作用: (1)根据作业跟踪器JobTracker发送的任务进度和资源使用信息,决定把哪个任务分发给哪个节点的任务跟踪器TaskTracker执行。 任务调度器TaskScheduler是一个可插拔模块,即允许用户自己编写任务调度策略。 4、任务跟踪器TaskScheduler 作用: (1)分布在各个机器(节点)上,接收作业跟踪器JobTracker发来的命令,具体都执行各种任务。 (2)把资源使用情况和任务运行进度以heartbeat的方式发送给作业跟踪器JobTraker以供其监控。 作业跟踪器: 分为Map Task和Reduce Task。一台机器可以同时运行Map Task和Reduce Task。 槽Slot: 每个TaskTracker都会把计算资源(CPU、内存等)打包,然后等分成很多份,以Slot作为当量。 Slot分为Map类型和Reduce类型两种,分别执行Map Task和Reduce Task。只有空闲的Slot才会被TaskScheduler分配新的任务。 MapReduce执行流程详: 1.RPC请求 2.获取新的jobID 3.复制job资源 4.提交任务 5.初始化job 6.获取job资源并分配任务 7.heartbeat(返回任务状态) 8.获取job资源 9.启动任务 10.计算结果写入HDFS 细: 1.JobClient通过RPC协议向JobTracker请求一个新应用的ID,用于MapReduce作业的ID 2.JobTracker检查作业的输出说明。例如,如果没有指定输出目录或目录已存在,作业就不提交,错误抛回给JobClient,否则,返回新的作业ID给JobClient 3.JobClient将作业所需的资源(包括作业JAR文件、配置文件和计算所得得输入分片)复制到以作业ID命名的HDFS文件夹中 4.JobClient通过submitApplication()提交作业 5.JobTracker收到调用它的submitApplication()消息后,进行任务初始化 6.JobTracker读取HDFS上的要处理的文件,开始计算输入分片,每一个分片对应一个TaskTracker 7.TaskTracker通过心跳机制领取任务(任务的描述信息) 8.TaskTracker读取HDFS上的作业资源(JAR包、配置文件等) 9.TaskTracker启动一个java child子进程,用来执行具体的任务(MapperTask或ReducerTask) 10.TaskTracker将Reduce结果写入到HDFS当中 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 23:06:49- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |