HDFS详解

2017-06-02  本文已影响112人  JustCode

可以在http://master:50070上访问hdfs的web页面。
本文章主题如下:

HDFS结构.png

Hadoop分布式系统 —— HDFS,它是一个块结构文件系统,它的每个文件都被分割成许多预定大小的块。这些块被存储在集群中的一台或多台机器上。HDFS遵循主/从结构,集群中拥有一台单独的NameNode(主节点),其它节点都是DataNode(从节点)。

NameNode.png

NameNode维护并管理着DataNode上的block。
以下是NameNode的功能:

  1. 维护并管理着DataNode节点;

DataNode是HDFS中的从节点,它是将数据以ext3或者ext4这种文件格式,存储在本地的块服务器。
以下是DataNode的功能:

  1. 处理文件客户端的低级读写请求。

它的职责是辅助NameNode工作,而不是备用节点。

Secondary-NameNode.png

它的功能如下:

  1. 合并来自NameNode的FsImage和EditLog,并将合并之后的FsImage文件拷贝给NameNode。

存储在DataNode磁盘上的文件块,默认大小是128M(1.x默认大小是64M),可通过hdfs-site.xml 文件配置dfs.blocksize 属性来制定block大小。block文件可以在DataNone的
{dfs.datanode.data.dir}/data/current/XXX/current/finalized/xx/目录下找到。如果block块太小,将会导致一个文件将会被分割成非常多的块,以至于会有非常多mateData数据,浪费内存以及硬盘空间。

HDFS-File-Block.png

Block默认是3个,


Replication-Management.png

以在配置文件中设置。

HDFS的存放策略(机架感知策略)是将一个副本存放在本地机架的节点上,一个副本放在同一机架的另一个节点上,最后一个副本放在不同机架的节点上

Rack-Awareness.png

机架感知策略的有点:

  1. 提高网络性能:这种策略减少了机架间的数据传输,这就提高了写操作的效率,数据块只放在两个(不是三个)不同的机架上,因此减少了读取数据时需要的网络传输总带宽。

文献:https://www.edureka.co/blog/apache-hadoop-hdfs-architecture/?utm_source=quora&utm_medium=crosspost&utm_campaign=social-media-edureka-ab
http://zheming.wang/blog/2015/07/24/17505A21-0204-48AB-8EBE-EAC911B22821/

上一篇下一篇

猜你喜欢

热点阅读