apache hadoop简介及核心机制

时间:14-12-25 栏目:Google, 大数据 作者:爱说云网 评论:0 点击: 1,728 次

Hadoop是什么?Hadoop是一个开发和运行处理大规模数据的软件平台,是Appach的一个用java语言实现开源软件框架,实现在大量计算机组成的集群中对海量数据进行分布式计算.

Hadoop框架中最核心设计就是:HDFS和MapReduce.HDFS提供了海量数据的存储,MapReduce提供了对数据的计算.

数据在Hadoop中处理的流程可以简单的按照下图来理解:数据通过Haddop的集群处理后得到结果.

HDFS:Hadoop Distributed File System,Hadoop的分布式文件系统.
大文件被分成默认64M一块的数据块分布存储在集群机器中.

如下图中的文件 data1被分成3块,这3块以冗余镜像的方式分布在不同的机器中.

MapReduce:Hadoop为每一个input split创建一个task调用Map计算,在此task中依次处理此split中的一个个记录(record),map会将结果以key--value 的形式输出,hadoop负责按key值将map的输出整理后作为Reduce的输入,Reduce Task的输出为整个job的输出,保存在HDFS上.

Hadoop的集群主要由 NameNode,DataNode,Secondary NameNode,JobTracker,TaskTracker组成.

如下图所示:

NameNode中记录了文件是如何被拆分成block以及这些block都存储到了那些DateNode节点.

NameNode同时保存了文件系统运行的状态信息.

DataNode中存储的是被拆分的blocks.

Secondary NameNode帮助NameNode收集文件系统运行的状态信息.

JobTracker当有任务提交到Hadoop集群的时候负责Job的运行,负责调度多个TaskTracker.

TaskTracker负责某一个map或者reduce任务.

核心机制:

Hadoop的核心机制是通过HDFS文件系统和MapReduce算法进行存储资源、内存和程序的有效利用与管理。在现实的实例中,通过Hadoop,可以轻易的将多台普通的或低性能的服务器组合成分布式的运算-存储集群,提供大数据量的存储和处理能力。

知其然,知其所以然。要想深入学习和理解Hadoop的核心机制,还要从MapReduce和HDFS的原理入手。

MapReduce的“大事化小”

作为Google提出的架构,MapReduce通过Map(映射)和Reduce(化简)来实现大规模数据(TB级)的并行计算。可以简单理解 为,通过Map(映射)函数,把一组键值对映射成一组新的键值对;指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键 组。

MapReduce是一种大数据计算的开发模式和思想方法。开发人员先分析需求所提出问题的解决流程,找出数据可以并发处理的部分(Reduce),也就是那些能够分解为小段的可并行处理的数据,再将这些能够采用并发处理的需求写成Map程序(Map)。

然后就可以使用大量服务器来执行Map程序,并将待处理的庞大数据切割成很多的小份数据,由每台服务器分别执行Map程序来处理分配到的那一小段数据,接着再将每一个Map程序分析出来的结果,透过Reduce程序进行合并,最后则汇整出完整的结果。

MapReduce的整个流程就像…

MapReduce是Hadoop分布式计算的关键技术,将要执行的问题,拆解成Map和Reduce的方式来执行,以达到分散运算的效果。例如要 搜寻网页中的“In Big Data”这个词,可以先用Map程序,来计算出所有网页中,每一个词的位置。再使用Reduce程序,在每一个字的清单中,检索出“In Big Data”所对应的URL,您就来到了这个博客。MapReduce程序的执行过程如下:

MapReduce运作流程

MapReduce运行流程

MapReduce的运作方式就像快递公司一样。物流部门会将发往各地的包裹先运送到各地的物流分站,再由分站派出进行派送;快递员等每个包裹的用 户签单后将数据反馈给系统汇总,完成整个快递流程。在这里,每个快递员都会负责配送,所执行的动作大致相同,且只负责少量的包裹,最后由物流公司的系统进 行汇总(而不是从一个库房一个快递员直接发往各地;这样的话估计顺风、京东神马的会被人骂死)。

在Hadoop集群架构中,服务器依据用途可分成Master节点和Worker节点,Master负责分配任务,而Worker负责执行任务。

Hadoop中的Master与Worker

Hadoop运算集群中的服务器依用途分成Master节点和Worker节点。Master节点中含有JobTracker、NameNode、 TaskTracker和DataNode程序;Worker节点含有TaskTracker和DataNode。另外在系统的架构上,最简单的 Hadoop架构,可以分成上层的MapReduce运算层以及下层的HDFS数据层。

在Master节点的服务器中会执行两套程序:一个是负责安排MapReduce运算层任务的JobTracker,以及负责管理HDFS数据层的 NameNode程序。而在Worker节点的服务器中也有两套程序,接受JobTracker指挥,负责执行运算层任务的是TaskTracker程 序,与NameNode对应的则是DataNode程序,负责执行数据读写操作以及执行NameNode的副本策略。

在MapReduce运算层上,担任Master节点的服务器负责分配运算任务,Master节点上的JobTracker程序会将Map和 Reduce程序的执行工作指派给Worker服务器上的TaskTracker程序,由TaskTracker负责执行Map和Reduce工作,并将 运算结果回复给Master节点上的JobTracker。

在HDFS数据层上,NameNode负责管理和维护HDFS的名称空间、并且控制档案的任何读写动作,同时NameNode会将要处理的数据切割 成一个个档案区块(Block),每个区块是64MB,例如1GB的数据就会切割成16个档案区块。NameNode还会决定每一份档案区块要建立多少个 副本,一般来说,一个档案区块总共会复制成3份,并且会分散储存到3个不同Worker服务器的DataNode程序中管理,只要其中任何一份档案区块遗 失或损坏,NameNode会自动寻找位于其他DataNode上的副本来回复,维持3份的副本策略。

在一套Hadoop集群中,分配MapReduce任务的JobTracker只有1个,而TaskTracker可以有很多个。同样地,负责管理 HDFS文件系统的NameNode也只有一个,和JobTracker同样位于Master节点中,而DataNode可以有很多个。

不过,Master节点中除了有JobTracker和NameNode以外,也会有TaskTracker和DataNode程序,也就是说Master节点的服务器也可以在本地端扮演Worker角色的工作。

在部署上,因为Hadoop采用Java开发,所以Master服务器除了安装操作系统如Linux之外,还要安装Java执行环境,然后再安装 Master需要的程序,包括了NameNode、JobTracker和DataNode与TaskTracker。而在Worker服务器上,则只需 安装Linux、Java环境、DataNode和TaskTracker。

在之后的文章中将详细说明Hadoop安装部署方面的问题。这里只针对Hadoop的运行机制及内部细节做了讨论;在实际的应用中虽然还需要很多知识,但就理解Hadoop和MapReduce核心思想来说,以上的内容值得反复推敲。对技术,要知其然,知其所以然!

相关文章

百度大数据洞察:“数”说年轻女性的自我世界-应用案例...
views 1462
  百度大数据带您透视小世界里的大女人精神。小世界指的是新一代年轻女性的自我世界,寓意每一个小小的我都是一个世界;大女人寓意新一代年轻女性脱离集体意识形态,不再完全秉承传统女性小鸟依人式的附属与顺从,而体现为一种独立自主的精神、一种大女人的情怀。   新一代年轻女性自我意识崛起下的3个需求层次  ...
BDTC 2014讲义尝鲜:15家机构论道大数据实战...
views 1689
2014中国大数据技术大会已圆满落幕,这里为大家送上本届大会的第一手干货,分别来自Hortonworks、IBM、Intel、VMware、eBay、阿里、腾讯、网易、搜狐、携程等机构。 2014年12月12-14日,作为大数据领域最具影响、规模最大的IT盛会——2014中国大数据技术大会暨第二届C...
大数据时代,科技走到了宗教尽头
views 1724
这是一个人人都言“大数据”的时代,然“大数据”存在于何处?影响于何处?难免,普通大众被席卷而来的“大数据”之潮迷乱了眼睛,搅乱了思绪。正是在这样的时刻,笔者认为尤为重要的是保有敬畏之心与清醒的思维,认识到“大数据”的局限性。 渗透时刻,无处不在的大数据 大数据可能是时下最吸引眼球的话题之一。从通过...
肥皂与手纸:神奇的电商大数据分析-应用案例...
views 1368
电商行业的人一定对啤酒与尿布的故事有所耳闻,20世纪90年代美国沃尔玛超市管理人员分析销售数据时候,发现了一个奇怪的现象:在一些情况下,啤酒和尿布看上去毫无关系的商品经常出现在同一购物篮中,调查发现这个现象出现在年轻的爸爸身上。这个故事讲述了零售行业的购物篮分析技术的重要性,数据技术对于零售业格外重...
网易大数据平台的Spark技术实践-技术方案...
views 1191
网易的实时计算需求 对于大多数的大数据而言,实时性是其所应具备的重要属性,信息的到达和获取应满足实时性的要求,而信息的价值需在其到达那刻展现才能利益最大化,例如电商网站,网站推荐系统期望能实时根据顾客的点击行为分析其购买意愿,做到精准营销。 实时计算指针对只读(Read On...
看大数据如何改变音乐产业
views 1228
行业领导者继续将音乐的版权使用费视为重中之重,认为它才是艺术家们收入的唯一未来。然而,音乐商业化的命运依然前途未卜。有些人认为我们的目标仅是简单地将艺术家的音乐传送到消费者的耳朵里。其他人则认为应该继续由消费者为音乐服务买单。不过,对那些音乐创作者来说,不管他们是签约音乐人还是独立音乐人,订阅模式...
大数据拼精准 可否触动电商个性营销神经...
views 1208
今日之电商诸侯争霸,可谓火药味甚浓,更推进着产业前进步伐。古语有云:长袖善舞,多钱善贾,意指有所依靠,事情容易成功。随着大数据所爆发出的巨大潜力,在如今的互联网经济时代,玩电商的“有才有财”企业,正在用大数据思维与技术影响着企业业务决策和商业推广思路。可以预测的是,互联网平台大数据分析,正如利剑出鞘...
详解大数据的思想形成与价值维度
views 1261
  比如经济上,黄仁宇先生对宋朝经济的分析中发现了“数目字管理”(即定量分析)的广泛应用(可惜王安石变法有始无终)。又如军事,“向林彪学习数据挖掘”的桥段不论真假,其背后量化分析的思想无疑有其现实基础,而这一基础甚至可以回推到2000多年前,孙膑正是通过编造“十万灶减到五万灶再减到三万灶”的数据、利...

声明: 本文由( 爱说云网 )原创编译,转载请保留链接: apache hadoop简介及核心机制

apache hadoop简介及核心机制:等您坐沙发呢!

发表评论


读者排行