NameNode和DataNode以及容错处理

概念:HDFS会把一个很大的文件分块(与传统的文件系统类似),存放在不同的DataNode上。不过这个块是个逻辑概念,比较大,默认是64M。Hadoop以“管理者-工作者”模式运行。NameNode就是管理者,它保存了文件系统中所有文件以及目录信息。也记录了每个文件的分块信息。但这些分块具体在哪些机器上存储则由DataNode自己上报。容错:NameNode的容错:所有的文件访问都要通过NameNode来进行,所以NameNode至关重要。一旦NameNode发生毁坏,则整个系统都不可用。HDFS提供了两种容错机制来保证NameNode的可用性:1 第一种方法是把文件元数据写入NFS,备份在另一台机器上。备份操作是同步的,原子的。2 第二种方法是运行辅助的NameNode,不过这个NameNode并不提供服务,它只是把操作日志Merge到Metadata中,但是如果主NameNode失效,总是有一部分数据来不及Merge,会造成数据丢失。所以一般的做法还是把NFS中备份的数据拷贝到这个NameNode,并作为主NameNode运行。DataNode容错:DataNode以数据块作为容错单位,通常一个数据块会被复制到三个DataNode上去。一旦某个数据块访问失效,,则去其他备份的机器上去读取。并且会把这个数据块再进行一次复制,以达到备份标准。也就是说,DataNode不是在机器级别上进行备份,而是在数据块级别上进行备份,这样就大大节省了机器数量。

任何的限制,都是从自己的内心开始的。

NameNode和DataNode以及容错处理

相关文章:

你感兴趣的文章:

标签云: