Hadoop中的HDFS

来源:互联网 发布:慧聪发发软件 编辑:程序博客网 时间:2024/05/21 08:52

HDFS(分布式文件系统)

一:作用

为了解决大量文件存储的问题,hadoop提供了一个组件HDFS。可以将文件分散到不同的服务器上。

二:角色分配

分为namenode跟datenode。

namenode主要作用:存储目录信息,存储元数据信息,管理datenode。

datenode主要作用:存储具体的文件的block块。

三:详细介绍namenode

1,记录元数据信息:文件的路径,文件的块信息,文件块的位置,文件的切块大小,文件的副本数量。

2,响应客户端的请求。

3,平衡datenode上文件块存储负载:datenode在启动时,会向namenode报告自身所持有的block,当客户端要上传文件时,namenode会优先分配空间剩余比较多的datenode给客户端使用。

4,元数据:完整的元数据存储在内存中,查询快,修改快,但是断电数据即丢失。解决办法,将数据序列化到磁盘中。

5,namenode还会对客户端引起元数据变化的操作进行日志记录。

6,SecondaryNameNode会定期从namenode上下载新编号的日志到本地,与fsiage文件进行合并处理,处理完成之后返回给namenode

SecondaryNameNode

1,向namenode请求checkpoint

2,将日志文件下载到自己的磁盘(合并日志文件)

3,SecondaryNameNode会定期从namenode上下载新编号的日志到本地,与fsiage文件进行合并处理,处理完成之后返回给namenode

datenode

1,接收客户端发送过来的block

2,为客户端读取指定的文件块block

3,定期向namenode汇报自身所持有的block


hdfs读写数据流程









原创粉丝点击