码迷,mamicode.com
首页 > 其他好文 > 详细

hadoop学习笔记--NameNode和DataNode以及容错处理

时间:2015-03-09 22:33:56      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:hadoop

概念:
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不是在机器级别上进行备份,而是在数据块级别上进行备份,这样就大大节省了机器数量。

hadoop学习笔记--NameNode和DataNode以及容错处理

标签:hadoop

原文地址:http://blog.csdn.net/yusiguyuan/article/details/44160183

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!