hadoop详解与组成

hadoop详解与组成

ID:42548461

大小:700.78 KB

页数:9页

时间:2019-09-17

hadoop详解与组成_第1页
hadoop详解与组成_第2页
hadoop详解与组成_第3页
hadoop详解与组成_第4页
hadoop详解与组成_第5页
资源描述:

《hadoop详解与组成》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、hadoop详解与组成Hadoop是一个分布式并行系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的高速运算和海量存储。Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。HDFS放宽了(relax)POSIX的要求(

2、requirements),这样可以流的形式访问(streamingaccess)文件系统中的数据。Hadoop假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理---高容错。Hadoop是高效的,它以并行的方式工作,能够处理PB级数据。它主要有以下几个优点:⒈高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。⒉高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。⒊高效性。Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡

3、,因此处理速度非常快。⒋高容错性。Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。Hadoop带有用Java语言编写的框架,因此运行在Linux生产平台上是非常理想的。Hadoop上的应用程序也可以使用其他语言编写,比如C++。Hadoop架构Hadoop最底部是HDFS,存储Hadoop集群中所有存储节点上的文件。HDFS的上一层是MapReduce引擎,该引擎由JobTrackers和TaskTrackers组成。Hadoop集群的简化视图对外部客户机而言,HDFS就像一个传统的分级文件系统。可以创建、删除、移动或

4、重命名文件,等等。但是HDFS的架构是基于一组特定的节点构建的,这是由它自身的特点决定的。这些节点包括NameNode(仅一个),它在HDFS内部提供元数据服务;DataNode,它为HDFS提供存储块。由于仅存在一个NameNode,因此这是HDFS的一个缺点(单点失败)。存储在HDFS中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。这与传统RAID架构大不相同。块的大小(通常为64MB)和复制的块数量在创建文件时由客户机决定。NameNode可以控制所有文件操作。HDFS内部的所有通信都基于标准的TCP/IP协议。Na

5、meNode是一个通常在HDFS实例中的单独机器上运行的软件。它负责管理文件系统名称空间和控制外部客户机的访问。NameNode决定是否将文件映射到DataNode上的复制块上。对于最常见的3个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块存储在不同机架的某个节点上。实际的I/O事务并没有经过NameNode,只有表示DataNode和块的文件映射的元数据经过NameNode。(元数据:描述数据及其环境的数据)DataNodeDataNode也是一个通常在HDFS实例中的单独机器上运行的软件。DataNode通常以机架的形式组织

6、,机架通过一个交换机将所有系统连接起来。Hadoop的一个假设是:机架内部节点之间的传输速度快于机架间节点的传输速度。DataNode响应来自HDFS客户机的读写请求。它们还响应来自NameNode的创建、删除和复制块的命令。NameNode依赖来自每个DataNode的定期心跳(heartbeat)消息。每条消息都包含一个块报告,NameNode可以根据这个报告验证块映射和其他文件系统元数据。如果DataNode不能发送心跳消息,NameNode将采取修复措施,重新复制在该节点上丢失的块。文件操作HDFS支持以流的形式访问写入的大型文件。如果

7、客户机想将文件写到HDFS上,首先需要将该文件缓存到本地的临时存储。创建文件的请求将发送给NameNode。NameNode将以DataNode标识和目标块响应客户机。同时也通知将要保存文件块副本的DataNode。当客户机开始将临时文件发送给第一个DataNode时,将立即通过管道方式将块内容转发给副本DataNode。MapReduceMapReduce是用于并行处理大数据集的软件框架。基于mapreduce写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的式并行处理上T级别的数据集。mapreduce极大地方便

8、了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。最简单的MapReduce应用程序至少包含3个部分:一个Map函数、一个Red

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。