namenode 和 datanode区别


一、namenode
接收用户操作请求 维护文件系统的目录结构 管理文件与block之间关系,block与datanode之间关系 namenode管理:namenode支持对HDFS中的目录、文件和块做类似文件系统的创建、修改、删除、列表文件和目录等基本操作。 块存储管理 在整个HDFS集群中有且只有唯一一个处于active状态namenode节点,该节点负责对这个命名空间(HDFS)进行管理

二、datanode
存储文件 文件被分成block存储在磁盘上 为保证数据安全,文件会有多个副本 namenode和client的指令进行存储或者检索block,并且周期性的向namenode节点报告它存了哪些文件的block

2.NameNode的启动流程和元数据合并流程namenode 和 datanode区别

NameNode的元数据信息先往edits文件中写,当edits文件达到一定的阈值(3600秒或大小到64M)的时候,会开启合并的流程。
合并流程:
1.当开始合并的时候,SecondaryNameNode会把edits和fsimage拷贝到自己服务器所在内存中,开始合并,合并生成一个名为fsimage.ckpt的文件。
2.将fsimage.ckpt文件拷贝到NameNode上,成功后,再删除原有的fsimage,并将fsimage.ckpt文件重命名为fsimage。
3.当SecondaryNameNode将edits和fsimage拷贝走之后,NameNode会立刻生成一个edits.new文件,用于记录新来的元数据,当合并完成之后,原有的edits文件才会被删除,并将edits.new文件重命名为edits文件,开启下一轮流程。

====core-site.xml=====

fs.checkpoint.period
3600
The number of seconds between two periodic checkpoints.

fs.checkpoint.size
67108864
The size of the current edit log (in bytes) that triggers
a periodic checkpoint even if the fs.checkpoint.period hasn’t expired.