文档章节

Hadoop 1.x的Task,ReduceTask,MapTask随想

brian_2017
 brian_2017
发布于 2017/01/17 09:45
字数 458
阅读 1
收藏 0

Hadoop的技术体系,最令人称赞的是细节。它的基本原理是非常容易理解的,细节是魔鬼。


hadoop的hdfs是文件系统存储,它有三类节点namenode, scondraynamenode, datanode,前两种在集群分别只有一个节点,而datanode在集群有很多个。hdfs的解耦做的非常好,以至于它可以单独运行,做一个海量数据的文件存储系统。它可以跟mapreduce分别运行。


对mapreduce任务来说,它有两类节点, jobtracker,tasktracker。前者每个集群之后一个,后者有许多个。顾名思义,tasktracker就是运行任务task。task有两种,maptask和reducertask。


一个mapreduce任务job,要做拆分,拆分成若干个inputsplit。每个inputsplit对应一个maptask。maptask执行完,将结果传给reducetask。然后reduecetask处理后将最终结果输出到hdfs存储。


MapTask和ReducerTask的基类是抽象类Task,它们在抽象的层次上近似,只是处理数据的流程不同。每个tasktracker节点可以同时运行这两种task。


这里有复杂的细节。tasktracker和jobtracker通过远程rpc的方式进行心跳服务。心跳服务调用会带上各种信息,有些是tasktracker报告自己的状态和任务执行情况,有些是jobtracker在应答里让tasktracker执行任务,不一而足。


每个job有jobid,拆分成若干个maptask和reducertask之后,又有taskid。每个maptask执行结束,将结果写入hdfs,又通过http的方式传递给reducertask。


于是:

1. 一切通讯由远程rpc调用实现。

2. hdfs是存储,可单独运行。

3. mapreduce是分布式计算,它使用hdfs。

4. task是节点计算的核心。

5. 大量的细节实现以保证可靠性和稳定性。

© 著作权归作者所有

brian_2017
粉丝 3
博文 61
码字总数 145216
作品 0
私信 提问
HADOOP集群MAPREDUCE原理篇

Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架; Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程...

weixin_40747272
2018/04/16
0
0
MAPREDUCE原理篇(1)

Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架; Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程...

yushiwh
2017/04/05
0
0
Hadoop之MapReduce理论篇02

ReduceTask工作机制 1.1. 设置ReduceTask ReduceTask 的并行度同样影响整个 job 的执行并发度和执行效率,但与 MapTask 的并发数由切片数决定不同,ReduceTask 数量的决定是可以直接手动设置...

飞鱼说编程
01/30
21
0
【hadoop】16.MapReduce-简介

简介 本章节我们先来了解一些关于MapReduce的理论知识。从本章节您可以学习到:MapReduce的相关知识。 1、概念 Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析...

Areya
01/12
19
0
Hadoop之MapReduce的基本概念

MapReduce 的概念 MapReduce 是一个分布式运算程序的编程框架,是用户开发“基于 hadoop 的数据分析应用”的核心框架; MapReduce 核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一...

飞鱼说编程
01/16
47
0

没有更多内容

加载失败,请刷新页面

加载更多

oracle ORA-39700: database must be opened with UPGRADE option

ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option 进程 ID: 3650 会话 ID: 29......

Tank_shu
今天
1
0
分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
聊聊DubboDefaultPropertiesEnvironmentPostProcessor

序 本文主要研究一下DubboDefaultPropertiesEnvironmentPostProcessor DubboDefaultPropertiesEnvironmentPostProcessor dubbo-spring-boot-project-2.7.3/dubbo-spring-boot-compatible/au......

go4it
昨天
2
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部