Hadoop的NameNode与SecondaryNameNode,DataNode


NameNode:

主要任务是接收客户端的读写服务,

主要功能:

1,文件ownship和permission

2,文件包含哪些块

3,Block保存在哪个DataNode中(由DataNode每次启动时上报)

元数据MetaData在启动后会加载到内存中,其中1,2也会保存在磁盘的fsimage中,但是3不会保存在fsimage中


Edits:

记录对MetaData的操作日志,但是对MetaData的修改不会马上修改fsimage,而是将操作记录在edits中,每隔一定时间将edits和fsimage合并,并根据记录再edits中的操作对fsimage进行修改。


SecondaryNameNode:

SecondaryNameNode并不是NameNode的备份,但是可以完成一部分元数据的备份工作(因为会拷贝fsimage到SNN中)

SecondaryNameNode的主要工作是合并edits和fsimage文件,生成新的fsimage并传送给NameNode,替换NameNode中的旧的fsimage


DataNode:

1,存储数据block

2,每次启动时向NameNode汇报block信息,

3,主动发送心跳信息给NameNode(每3秒一次)


Block副本放置策略:

block1放在随便一个不太忙的节点,block2放在不同于Block1的机架的节点上,block3和block2放在同一个机架上的节点(保证速度)



你可能感兴趣的:(Hadoop)