一、HDFS体系结构
HDFS支持主从结构,主节点称为NameNode,从节点称为DateNode,DataNode支持多个节点。HDFS还包含一个SecondaryNameNode进程,表面意思是一个辅助主节点(备用主节点)
伪分布式单节点JPS进程:
网络部署结构图:
1.NameNode进程
NameNode是整个文件系统的管理节点,它主要维护着整个文件系统的文件目录树、文件/目录的信息和每个文件对应的数据块列表,并且还负责接收用户的操作请求。
- 目录树:目录之间的层级关系,即目录结构信息
- 文件/目录信息:文件/目录的拥有者、所属组、修改时间、文件大小等信息
- 每个文件的数据块列表:记录一个文件给分成了多少块(块大小默认128M),每一个文件都在什么地方存储着
- 接收用户请求:用户通过客户端连接namenode节点,获取和操作数据
NameNode主要包含一下文件:fsimage、edits、seen_txid、VERSION,这些文件的所在路径是由hdfs-default.xml的dfs.namenode.name.dir属性控制,hdfs-site.xml文件属于hdfs-default.xml的一个扩展,它会优先覆盖default中同名参数的信息
<property>
<name>dfs.namenode.name.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/name</value>
<description>Determines where on the local filesystem the DFS name node
should store the name table(fsimage). If this is a comma-delimited list
of directories then the name table is replicated in all of the
directories, for redundancy. </description>
</property>
而hadoop.tmp.dir 这个参数是在 ${HADOOP_HOME}/etc/hadoop/core-site.xml中设置的,如下:
<configuration>
<property>
<name>fs.defaultFS&