Hadoop学习笔记---HDFS简介
来源:互联网 发布:六味地黄丸 知乎 编辑:程序博客网 时间:2024/05/21 13:21
HDFS(Hadoop Distributed File System)是整个hadoop生态系统的基础,其基本原理是把大的文件分成固定大小的块(默认64M,可配置),每个块分配一个全局唯一的标识,把这些块分布在集群中,每一块都是存储在节点的本地文件系统上由dfs.data.dir指定的目录下,可以看成是单独的文件。在总控节点(namenode)存储文件系统的命名空间,namenode在内存中维护命名空间,如每个文件被分成哪些块,分别存储在哪等。比如:有两个文件,data1被分成三块,块号是1,2,3。data2被分成两块,块号为,4,5。在HDFS中的存储情况示例如下图所示。
namenode还在磁盘中存储文件系统镜像和日志文件,以便在系统重新启动时恢复文件命名空间。需要注意的是,镜像里面不存储每个块的位置,块的位置是在系统启动时由datanode报告给namenode的,并且会定期向namenode报告来提供可靠性。拿上面的示例来说,镜像里面只记录data1由1号,2号和2号数据块组成,并不记录每一块的具体位置,位置只保存在内存里。
HDFS被设计成运行在普通硬件之上,当集群比较大时,出现各种故障的可能性是很大的,为了提供高可靠性,HDFS采取了很多措施,首先是冗余备份,每个数据块在系统中都存有多个备份(默认为3,可配置),一旦数据块出现损坏,系统可以自动增加备份并删除坏数据块。因为namenode存储整个文件系统的命名空间,一旦损坏,数据将全部丢失。
SNN(SecondaryNamenode)的作用是合并文件系统镜像和操作日志,用来更新检查点,可以防止日志文件过大,新的文件系统镜像将同步更新到namenode。因为SNN保存有文件系统镜像,所以当namenode损坏时可以把SNN配置成namenode,但是因为SNN滞后于namenode,所以最近一段时间修改将丢失。能完全恢复文件系统的方法是配置dfs.name.dir为多个存储地址,尤其是当其中一个为网络文件系统。HDFS会把系统镜像和操作日志写到dfs.name.dir指定的多个目录下面,所以当namenode损坏时,可以从别的地方找到镜像文件和日志文件,从而恢复文件系统。系统启动时就是利用镜像和日志来重建文件系统命名空间。
- Hadoop学习笔记---HDFS简介
- hadoop-hdfs学习笔记
- [置顶] Hadoop HDFS简介学习
- Hadoop学习笔记之---HDFS
- hadoop学习笔记<三>----HDFS
- hadoop学习笔记-HDFS原理
- Hadoop学习笔记二---HDFS
- Hadoop学习笔记二---HDFS
- hadoop学习笔记-HDFS原理
- Hadoop学习笔记之HDFS
- hadoop学习笔记之HDFS
- hadoop学习笔记(HDFS)
- Hadoop学习笔记之---HDFS
- hadoop学习笔记 MapReduce + HDFS
- hadoop学习笔记之HDFS
- Hadoop学习笔记之HDFS
- Hadoop自学笔记(二)HDFS简介
- Hadoop学习笔记-Hadoop HDFS环境搭建
- android Notification的使用
- STM32用IO口控制步进电机的简单程序
- ReadPwd读windows内存中明文密码
- ucosi操作系统移植到STM32
- 完美解决Windows 7更新失败(Windows Update 错误 80070003)
- Hadoop学习笔记---HDFS简介
- 方法调用
- 递归求解字符串长度
- ReadPwd读windows内存中明文密码
- 抽象类及其用法
- HQL: Hibernate查询语言
- 恒大竟然被绝杀了
- Mat::create
- android-关于ContentProvider的使用