HDFS和Mapreduce通俗理解
Posted 吴胖子的修行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFS和Mapreduce通俗理解相关的知识,希望对你有一定的参考价值。
借鉴大数据商业之路与大数据技术体系详解-黄申著
HDFS的通俗例子:
有个叫Hadoop的快消品公司,专门采用Flume公司提供的水源来生产饮用水和饮料。
起初公司小,一个建在市区的仓库足够存储原料,后来随着公司规模扩大,单个仓库放不下,在市区扩建成本又太高,于是公司高层决定在郊区另外建几个仓库。——数据节点(Data Node)
Flume公司倒是蒙圈了,你这几个好几个仓库,你让我往哪个仓库送水呢?于是为了协调,Hadoop公司又成立了专门的仓库管理部门,负责收集各个仓库的负载情况,并与Flume的车队联系。————命名节点(Name Node)
随着生产的进行,高层发现了问题,生产某个饮料的A类水原本全放在3仓库的,而这个仓库经常出现水桶泄露,导致这款饮料的生产被耽误。为了解决这个问题,决定把A类水分别放在3,4,6三个仓库,(并让每个仓库随时这样,即使3号仓的A类水缺货,也能从4,6仓库调取,避免了停产。——备份/副本
这也也带来了几个问题:
1.不适合实时性很强的数据访问:假设有一款神秘饮料,需要用到多种水进行操作,也就是说hadoop需要到多个仓库取货后才能组合生产;
2.无法高效存储大量小文件:假如有一天Flume公司突然改用小奶瓶装水了,那Hadoop公司的仓库管理部门绝对要崩溃,原本是管理1万桶水的,现在是管理1亿个奶瓶,增加了大量元数据,这时命名节点的检索效率就会大大降低。
MapReduce的最基本原理:
Hadoop公司在最近的一次市场反馈中,公司发现了一个问题,Flume公司提供的水源质量不是很稳定,也就导致了产品口感较差,为了解决这个问题,产品部提出了如下的思路:
按照品质定义,对水源进行鉴定,由1-4从高到低分为四等,一等用于纯净水,四等则是用于制作碳酸饮料等;
于是公司从散列公司引进了自动检测仪Mapper和组装生产线Reducer,前者可以对每一小桶水样本进行快速检测并贴上标签,贴上标签后的水桶通过传送带送至相对应的Reducer处,由其将其合并到超大的水桶中提供给最后的生产环节:
为了保证生产任务的完成,Hadoop安排了工作跟踪节点(Job Tracker)和任务跟踪节点(Task Tracker)两个小组,在Hadoop决定好生产任务时,工作跟踪节点就执行具体的计划,包括处理哪些文件、为不同的任务分配节点、以及监控所有任务的运行,要是任务失败,就会根据配置打开重试机制,自动重启任务。
而任务跟踪节点但则管理各个任务在每个节点上的运行情况,负责由工作跟踪节点下派的单项任务,并与之形成“心跳”式的联系,在加入了MapReduce后,则有下图:
为了工作跟踪节点与任务之间的耦合,将其剥离出来,称为YARN。
以上是关于HDFS和Mapreduce通俗理解的主要内容,如果未能解决你的问题,请参考以下文章
解决 hive maPredue转换hivesql出错Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.a
解决 hive maPredue转换hivesql出错Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.a