数据备份
本帖最后由 fiberlijun 于 2009-11-19 17:12 编辑bolck备份
HDFS设计为大文件提供可靠存储。每个文件被分割为一系列的block,每个block都有相同的大小(64M),除了最后一个。为了容灾,文件的block会有备份,备份的个数可以由上传者指定,缺省是3。
block信息上报
namenode周期性(缺省为一小时)的收到来自datanode的bolck上报信息,namenode如果判断一个文件的bolck备份有丢失,会产生一个新block。
讲得很清楚,还有一个疑问望解答:
集群内,因某些原因(如短暂时间停电)会有节点需要重启,这个时候DataNode可能会被NameNode检测出异常,NameNode会在这种情况下做自动数据恢复吗吗?NameNode自动恢复数据的时机和前提究竟是什么吗?象提到的这个,是不应当自动恢复的,因为当节点存储的数据量大时,恢复数据的代价非常大,而且被NameNode认为故障的节点是可以很快恢复工作的,所以不应当去自动恢复数据。 DataNode 是周期性的去向NameNode报心跳,如果NameNode在一段时间内没有接收到一个DataNode的心跳,那么NameNode才会对该DataNode上的数据做复制。中间是有时间限制的
页:
[1]