datong838 发表于 2013-10-25 10:44:34

HDFS的健壮性(容错处理)

本帖最后由 fiberlijun 于 2009-11-19 17:11 编辑
磁盘错误,心跳和重新备份
每个datanode周期性发送心跳信息给namenode。网络中断可能会导致一批datanode连不上namenode。namenode检测到一段时间没有上报心跳后,把这个datanode标识为dead,不再分配新的io请求给它。在这个datanode上的所有数据都不能访问了,这就会导致一些block的备份数量会少于指定的值。namenode会经常检查block备份数量,发起重新备份。
Rebalancing
检查一个datanode的硬盘容量低,会自动把数据移到另外的datanode。(这个特性还在开发中)
元数据磁盘错误
FsImage和EditLog是HDFS的核心数据结构。这些文件损坏会导致HDFS失效。namenode可以配置支持多份元数据拷贝。
namenode单点
namenode机器是整个hdfs的唯一单点。如果namenode机器down了,手工干预是不可避免的。现阶段namenode自动重启恢复到另一台机器还不支持。目前简单有效的方式就是用抢IP或者DNS切换NameNode机器。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fiberlijun/archive/2009/11/12/4801300.aspx

when30 发表于 2013-10-25 10:44:34

回复 1# fiberlijun
1.namenode会经常检查block备份数量,发起重新备份。
:HDFS如何保证这样的检查是高效而不影响正常运行的吗?
2.namenode检测到一段时间没有上报心跳后,把这个datanode标识为dead
问:已标识为的dead节点重新拉起来,加入集群后,是怎么处理的吗?

bob007 发表于 2013-10-25 10:44:34

HDFS是否可以检测一个Block是否已经损坏呢吗?

yuanqingyu0123 发表于 2013-10-25 10:44:34

最好看看HDFS architecture. http://hadoop.apache.org/hdfs/docs/current/hdfs_design.html
页: [1]
查看完整版本: HDFS的健壮性(容错处理)