Hdfs分布式文件系统浅谈
HDFS的概念
Hadoop Distributed File System ,Hadoop分布式文件系统,主要用来解决海量数据的存储问题
文件级别的分布式系统
块级别的分布式系统
设计思想
-
分散均匀存储 dfs.blocksize = 128M -
备份冗余存储 dfs.replication = 3
重要特性
HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M
DFS文件系统会给客户端提供一个统一的抽象目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.dat
目录结构及文件分块信息(元数据)的管理由namenode节点承担
HDFS 基本架构
HDFS 的角色
HDFS也是按照Master和Slave的结构。分NameNode、SecondaryNameNode、DataNode这几个角色。
-
主节点 NameNode HDFS集群管理者,负责管理文件系统原信息和NameNode各节点 管理元信息:维护整个文件系统目录树,各个文件的数据块信息等。管理NameeNode:DataNode 周期性 NameNode汇报心跳,一旦NameNode发现某个DataNode出现故障,会在其他存货的DataNode上重构丢失的数据块
-
从节点 DataNode 存储实际的数据块,并周期性通过 心跳向NameNode汇报自己的状态信息。
-
-
secondaryNameNode 辅助namenode管理元数据信息,以及元数据信息的冷备份
-
fsimage 元数据镜像文件(文件系统的目录树。)
-
edits 元数据的操作日志(针对文件系统做的修改操作记录)
-
其他 namenode内存中存储的是=fsimage+edits。SecondaryNameNode负责定时默认1小时,从namenode上,获取fsimage和edits来进行合并,然后再发送给namenode。减少namenode的工作量。