hadoop入门(二)

HDFS架构

NameNode
DataNode
Secondary NameNode


元数据存储信息示例:



上传文件到hdfs工作流程:


详解

客户端API先请求namenode,如果这个路径存在那么返回(元数据信息)可以分配的datanode给客户端API,假设这个文件512M,hdfs设置的每块128M,客户端API将其切分为3块,向datanode写入块信息。然后每个块写完后,这时已经客户端API已经完成上传工作了,我们设置的是每个块有3个副本
此时每块还有2个副本未写入,这时由写入好的datanode将块复制给下一个datanode,再由下一个datanode复制给下一个datanode,以此类推去建立副本,如果其中有一个副本建立失败,会报告给namenode,由namenode重新分配一个datanode将副本复制过去 


namenode元数据管理机制:




SecondaryNameNode合并edits和fsimage:

namenode通知SecondaryNameNode进行checkpoint操作,先产生一个新的edits.new文件,停止往旧的edits文件写数据
SecondaryNameNode把旧的edits文件和fsimage文件下载下来,在SecondaryNameNode合并edits和fsimage,做checkpoint操作,完成后
上传给namenode,替换到老的fsimage,把edits.new重命名为edits



datanode:
Datanode是文件系统的工作节点,他们根据客户端或者是namenode的调度存储和检索数据,并且定期向namenode发送他们所存储的块(block)的列表。


yarn:
ResourceManager
YARN中的资源管理器(Resource Manager)负责整个系统的资源管理和调度,并内部维护了各个应用程序的ApplictionMaster信息,NodeManager信息,资源使用信息等。提交给 yarn,yarn产生applicationmaster,产生一个运行资源的容器,指定存储结果的目录,yarn分配好资源后,启动你程序的主管进程,程序的运算逻辑yarn不管



posted on 2017-02-17 17:38  愤怒的苹果ext  阅读(19)  评论(0编辑  收藏  举报

导航