目录
主角色:namenode
NameNode
是Hadoop分布式文件系统的核心,架构中的主角色。
NameNode
维护和管理文件系统元数据
,包括名称空间目录树结构、文件和块的位置信息、访问权限等信息。
基于此,
NameNode成为了访问HDFS的唯一入口
。
NameNode内部通过内存和磁盘文件两种方式管理元数据。
其中磁盘上的元数据文件包括Fsimage内存元数据镜像文件和edits log(Journal)编辑日志。
namenode
职责
NameNode仅
存储HDFS的元数据
:文件系统中所有文件的目录树,并跟踪整个集群中的文件,不存储实际数据。
NameNode知道HDFS中任何
给定文件的块列表及其位置
。使用此信息NameNode知道如何从块中构建文件。
NameNode
不持久化存储每个文件中各个块所在的datanode的位置信息
,这些信息会在系统启动时从DataNode
重建。
NameNode是Hadoop集群中的
单点故障
。
NameNode所在机器通常会配置有
大量内存(RAM)
。
从角色:datanode
DataNode
是Hadoop HDFS中的从角色,负责
具体的数据块存储
。
DataNode的数量决定了HDFS集群的整体数据存储能力。通过和NameNode配合维护着数据块。
datanode
职责
DataNode负责
最终数据块block的存储
。是集群的
从角色
,也称为Slave。
DataNode启动时,会将自己
注册
到NameNode并
汇报
自己负责持有的块列表。
当某个DataNode关闭时,不会影响数据的可用性。 NameNode将安排由其他DataNode管理的块进行副本复制
。
DataNode所在机器通常配置有大量的
硬盘
空间,因为实际数据存储在DataNode中。
主角色辅助角色: secondarynamenode
Secondary NameNode充当NameNode的辅助节点,但不能替代NameNode。
主要是帮助主角色进行元数据文件的合并动作。可以通俗的理解为主角色的“秘书”。
上述资料来自于黑马程序员