- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hadoop基础篇 什么是Mapreduce? MapReduce, MR 是一种编程模型,用于大规模数据集(大于1TB)的并行运算(批处理)。 提供一套简单的API,开发人员可以基于API开发应用程序,进而利用分布式平台进行数据处理。 Mapreduce架构图 Master/Slave 架构 主节点JobTracker,管理Job,不一定必须运行在Namenode上,可以运行在任何节点上。通常不和NN放在一台机器上。 子节点TaskTracker,执行task 增加TaskTracker节点数,达到水平扩容(HDFS是增加Datanode节点数进行扩容),通常运行在Datanode上。 架构图 老师 学生 不是平均分配 调度算法: 1、先进先出 FIFO 2、公平调度,最大Map数和最大Reduce数 3、容量调度,资源隔离 需要3选1 工作流程 JobTracker 进程 单点。 随时作业量增大,负载增大。而NN的负载通常比较低。 相当于那个懒老师,负责接收客户端作业,分配作业给学生(TaskTracker)。 JobTracker是整个MapReduce计算框架中的主服务(进程),相当于集群的“管理者”,负责整个集群的作业控制和资源管理。 JobTracker后台程序用来连接应用程序与HDFS。用户代码提交到集群以后,由JobTracker决定哪个文件将被处理,并且为 不同的task分配节点。 同时,它还监控所有的task,一旦某个task失败了,JobTracker就会自动重新开启这个task,在大多数情况下这 个task会被放在不用的节点上。每个Hadoop集群只有一个JobTracker,可以运行在集群的任意节点上(不仅仅是Master节点)。 通常部署JobTracker的节点,不开启TaskTracker进程。就像NN节点上不开启Datanode进程一样。 TaskTracker 进程 相当于场景中的学生,负责实际干活。 TaskTracker位于子节点(即Datanode上),独立管理各自的task。 每个TaskTracker负责独立执行具体的task,而 JobTracker负责分配task。每个TaskTracker可并行处理多个map以及reduce任务。 TaskTracker的一个重要职责就是与JobTracker交互。如果 JobTracker无法准时地获取TaskTracker提交的信息,JobTracker就判定TaskTracker已经崩溃,并将任务分配给其他节点处理。 Map-Reduce处理过程 基于硬盘的计算,少量数据在内存里(对内存无压力),hive里的mapjoin可以把数据放在内存里处理; 1、指定input目录,作为数据源 2、中间结果落地到HDFS,作为下一步数据源 map key-value reduce key-values ,相同key的value组合在一块 map数是有输入目录的文件数和文件大小决定。4个小文件和1个80M的文件(block是64M),产生map数6. shuffle:混淆节点间数据 combine:相同的key进行组合合并 Reduce:key-values MR执行过程 Map:加载input数据,通常一个文件(不足一个 Block大)起一个map线程。超过Block大的文件,会Split多个文件,起多个map线程。如Block大小是64M,一个80M的文件会起2个map。 key-value 键值对。 Shuffle:分别在不同节点上的相同的key,需要合并,所以先混淆(全部数据节点上的input数据)一下。 Combine:由于相同的key需要发送到同一个reduce上,所以必须把相同的key合并。 Reduce:相同的key会有同一个reduce接收和汇总,结果为key-values 更详细,见/athenaer/article/details/8203990 Mapreduce 数据倾斜 不怕数据量大,就怕数据倾斜。 MR里同一个key,只能发由同一个reduce处理。必须这样,否则无法全局汇总。 普通key的value数是100个,个别超过10万个。 数据倾斜的根本原因(面试常问): 1、key分布不均衡,有的过于集中。倾斜在Reduce阶段。 2、Datanode上数据分布不均衡,倾斜在Map阶段。 map执行完后,不等其他map执行完,就开始下一个阶段了。 【Hive企业级优化】里有讲解决数据倾斜的办法。 欢迎访问我们的官方网站
您可能关注的文档
最近下载
- 船用UG-25+调速器安装调试手册.pdf
- 城市残疾人居家托养服务项目效果评估:多维度分析与优化策略.docx
- 石家庄市网约车认证理论统考题库(含答案).docx VIP
- 高速公路隧道消防系统养护制度与管理方案 .pdf VIP
- 高频精选:曲师大考研西方音乐史真题及答案.doc VIP
- 智能穿戴设备在武术运动中的运动数据分析报告.docx
- Leadshine雷赛CL3C-EC808AC经济型EtherCAT总线闭环步进驱动器用户手册.pdf
- 220kv架空线路设计.doc VIP
- CSC5113_V13926596180三节锂电池保护芯片.pdf VIP
- 自主导航无人设备的施工安全智能预警系统开发.docx VIP
原创力文档


文档评论(0)