侵权投诉
订阅
纠错
加入自媒体

从HDFS架构和设计看Hadoop和云计算的关系

2015-04-18 01:47
华静一
关注

  5 TaskTracker

  (1)位于slave节点上,与datanode结合

  (2)管理各自节点上的task(由jobTracker分配)

  (3)每个节点只有一个tasktracker,但一个tasktracker可以启动多个JVM,

  (4)与jobtracker交互

  三 HDFS数据存储

  1 HDFS数据存储特点

  (1)HDFS被设计成能够在一个大集群中跨机器可靠地存储超大文件。

  (2)它将每个文件存储成一系列的数据块,除了最后一个,所有的数据块都是同样大小的,数据块的大小是可以配置的。

  (3)文件的所有数据块都会有副本。每个副本系数都是可配置的。 (4)应用程序可以指定某个文件的副本数目。

  (5)HDFS中的文件都是一次性写入的,并且严格要求在任何时候只能有一个写入者。

  2 心跳机制

  Namenode全权管理数据块的复制,它周期性地从集群中的每个Datanode接收心跳信号和块状态报告(Blockreport)。接收到心跳信号意味着该Datanode节点工作正常。块状态报告包含了一个该Datanode上所有数据块的列表。

从HDFS架构和设计看Hadoop和云计算的关系

  3 副本存放

  副本的存放是HDFS可靠性和性能的关键。HDFS采用一种称为机架感知(rack-aware)的策略来改进数据的可靠性、可用性和网络带宽的利用率。

  4 副本选择

  为了降低整体的带宽消耗和读取延时,HDFS会尽量让读取程序读取离它最近的副本。如果在读取程序的同一个机架上有一个副本,那么就读取该副本。如果一个HDFS集群跨越多个数据中心,那么客户端也将首先读本地数据中心的副本。

  5 安全模式

  Namenode启动后会进入一个称为安全模式的特殊状态。处于安全模式的Namenode是不会进行数据块的复制的。Namenode从所有的 Datanode接收心跳信号和块状态报告。

  四 HDFS数据健壮性

  HDFS的主要目标就是即使在出错的情况下也要保证数据存储的可靠性。常见的三种出错情况是:Namenode出错, Datanode出错和网络割裂(network partitions)。

从HDFS架构和设计看Hadoop和云计算的关系

  1 磁盘数据错误,心跳检测和重新复制

  每个Datanode节点周期性地向Namenode发送心跳信号。网络割裂可能导致一部分Datanode跟Namenode失去联系。Namenode 通过心跳信号的缺失来检测这一情况,并将这些近期不再发送心跳信号Datanode标记为宕机,不会再将新的IO请求发给它们。任何存储在宕机 Datanode上的数据将不再有效。Datanode的宕机可能会引起一些数据块的副本系数低于指定值,Namenode不断地检测这些需要复制的数据块,一旦发现就启动复制操作。在下列情况下,可能需要重新复制:某个Datanode节点失效,某个副本遭到损坏,Datanode上的硬盘错误,或者文件的副本系数增大。

<上一页  1  2  3  4  下一页>  余下全文
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号