- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(课题研究方向
项目研究内容及要求
一、研究领域
随着云时代的来临,大数据(Bigdata)也吸引了越来越多的关注。大数据(Big data)通常用来形容一个公司创造的大量非结构化和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像Hadoop一样的框架来向数十、数百或甚至数千的计算机分配工作。
Hadoop 是一个可实现大规模分布式计算的开源软件平台,已经被广泛应用在云计算领域。Hadoop 是Apache 开源组织的一个分布式计算开源框架,它可以运行在大型集群的廉价硬件设备上,实现对集群的控制和管理。而且Hadoop 为应用程序透明的提供了一组稳定可靠的接口,屏蔽了并行应用开发的细节,实现更加便捷的构建企业级的应用, 并且能够实现海量数据的管理和分布式数据处理。
Hadoop 最核心的设计就是分布式文件系统HDFS和Map/Reduce算法模型。分布式文件系统HDFS 是专门为Map/Reduce 作业所设计的文件系统。计算模型Map/Reduce 是Hadoop 的核心计算模型,是用于在集群上分布式处理大数据集的软件架构。它将复杂的运行于大规模集群上的并行计算过程高度的抽象到了2个函数,Map和Reduce,这是一个简单而又强大的模型。Hadoop 还包括对于结构化数据处理的HBase、数据仓库的基础设施Hive、并行计算的高层次数据流语言和执行框架Pig 和分布式应用的高性能协调服务Zookeeper 等子项目。
Hadoop 集群是典型的Master/Slaves 结构,NameNode与JobTracker 为Master,DataNodes 与TaskTrackers 为Slaves。NameNode 与DataNodes 负责完成HDFS 的工作,JobTracker 与TaskTrackers 则负责完成MapReduce 的工作。Hadoop 任务分配工作原理如下图所示;Hadoop 中有一个作为主控的JobTracker, 用于调度和管理其它的TaskTracker,JobTracker 可以运行于集群中任一台计算机上。TaskTracker 负责执行任务,必须运行于DataNode 上,即DataNode 既是数据存储结点,也是计算结点。JobTracker 将Map 任务和Reduce 任务分发给空闲的TaskTracker,让这些任务并行运行,并负责监控任务的运行情况。如果某一个TaskTracker 出故障了,Job-Tracker 会将其负责的任务转交给另一个空闲的TaskTracker重新运行。
Map/Reduce 的工作原理如下图所示; 当你向Map/Reduce 框架提交一个计算作业时, 它会首先把计算作业拆分成若干个Map 任务,然后分配到不同的节点上去执行,每一个Map 任务处理输入数据中的一部分, 当Map 任务完成后,它会生成一些中间文件,这些中间文件将会作为Reduce 任务的输入数据。Reduce 任务的主要目标就是把前面若干个Map的输出汇总到一起并输出。
Map/Reduce 计算模型的核心是Map 和Reduce 两个函数,这2 个函数由用户负责实现,功能是按一定的映射规则将输入的key,value对转换成另一个或一批key,value对输出。Map 过程通过在输入列表中的每一项执行函数,生成一系列的输出列表。Reduce 过程再将Map 的输出列表作为输入列表,随后生成一个聚集值,作为最后的输出,其中所有相同键值的列表被输入到同一个Reduce 任务中。另外,在Map 前还会对输入的数据有Split(分割)的过程,保证任务并行效率,在Map 之后还会有Shuffle(混合)的过程,用于提高Reduce 的效率以及减小数据传输的压力。为了减少数据在网络上的传输,降低对网络带宽的需求,从而保证分布式计算的高效性。HDFS 还为应用提供了将它们自己移动到数据附近的接口。
HBase 的服务器体系结构也是遵从简单的主从服务器架构,由HBaseMaster 主服务器和Hregion 服务器群构成,实现对大表的结构化数据的存储。对用户来说,每个表是一堆数据的集合,靠主键来区分。物理上,一张表是被拆分成多块,每一块称为一个Hregion。用表名+开始/结束主键, 来区分一个Hregion,一个Hregion 会保存一个表里面某段连续的数据,从开始主键到结束主键,一张完整的表格是保存在多个Hregion上面的,HBase 通过管理整个区域某部分的节点来管理整个表。
HBase 本质上是一个稀疏的,长期存储的(存在硬盘上),多维度的,排序的映射表。这张表的索引是行关键字,列关键字和时间戳。每个值是一个不解释的
文档评论(0)