【hadoop】7.HDFS-简介

简介

经过本教程您能够学习到:node

  1. HDFS概念
  2. HDFS的组成
  3. HDFS文件块大小

一、HDFS概念

HDFS,它是一个文件系统,用于存储文件,经过目录树来定位文件;其次,它是分布式的,由不少服务器联合起来实现其功能,集群中的服务器有各自的角色。服务器

HDFS的设计适合一次写入,屡次读出的场景,且不支持文件的修改。适合用来作数据分析,并不适合用来作网盘应用。分布式

之因此不适合修改,是由于HDFS底层存储逻辑以及其应用目的决定的。首先其应用目的是用于海量的数据分析,这固然不会去对文件的读、写两方面进行兼顾;再加上底层是将文件进行了分块的(128M一块),修改文件内容首先要合并、而后在写入,又在切分,也许差强人意,可是真正的网盘应用不适合用他作的,推荐CEPH。oop

二、HDFS的组成

在Hadoop的简介章节咱们已经介绍过这里的知识了,这里咱们在回顾一遍。学习

HDFS集群包括,NameNode和DataNode以及Secondary Namenode。其中:大数据

  • NameNode负责管理整个文件系统的元数据,以及每个路径(文件)所对应的数据块信息。
  • DataNode 负责管理用户的文件数据块,每个数据块均可以在多个datanode上存储多个副本。
  • Secondary NameNode用来监控HDFS状态的辅助后台程序(辅助namenode),每隔一段时间获取HDFS元数据的快照。

三、HDFS文件块大小

一、HDFS中的文件在物理上是分块存储(block),块的大小能够经过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M;设计

二、HDFS的块比磁盘的块大,其目的是为了最小化寻址开销。若是块设置得足够大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需的时间。于是,传输一个由多个块组成的文件的时间取决于磁盘传输速率。视频

在一般状况下,寻址时间约为10ms,而传输速率为100MB/s,为了使寻址时间仅占传输时间的1%,咱们要将块大小设置约为100MB。默认的块大小实际为64MB,可是不少状况下HDFS使用128MB的块设置。教程

块的大小:10ms100100M/s = 100Mhadoop

这条公式的原理是广泛认同的定律:寻址时间为传输时间的1%为传输的最佳状态。

也就说文件块的大小设置原理是从寻址时间和传输时间而来的。

参考

本系列的文章参考资料来源有3个地方:

  1. 尚硅谷官方大数据教学视频。
  2. 书籍《hadoop权威指南 第四版》
  3. 官方文档。
相关文章
相关标签/搜索