欢迎使用CSDN-markdown编辑器

2018-11-26 19:07 
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sean_cd/article/details/72639991

Hadoop HDFS实践攻略

理论部分:

  • HDFS 基本原理
  • 文件读取、写入机制
  • 元数据管理思路

实践部分:

  • 安装实践环境
  • Shell 命令行操作方式
  • Java API操作方式

HDFS基本原理

1. HDFS的解决思路

HDFS(Hadoop Distribute File System)是一个分布式文件系统,是Hadoop的重要成员。

HDFS是个抽象层,底层依赖很多独立的服务器,对外提供统一的文件管理功能,对于用户来讲,感觉就像在操作一台机器,感受不到HDFS下面的多台服务器。
这里写图片描述

HDFS首先会把这个文件进行分割,例如分为4块,然后分别放到不同服务器上。
这里写图片描述

这样做有个好处,不怕文件太大,并且读文件的压力不会全部集中在一台服务器上。但如果某台服务器坏了,文件就读不全了。
HDFS为保证文件可靠性,会把每个文件块进行多个备份:
这里写图片描述

这样文件的可靠性就大大增强了,即使某个服务器坏了,也可以完整读取文件。
同时还带来一个很大的好处,就是增加了文件的并发访问能力,比如多个用户读取这个文件时,都要读块1,HDFS可以根据服务器的繁忙程度,选择从那台服务器读块1

1. 元数据的管理

HDFS中存了哪些文件?
文件被分成了哪些块?
每个块被放在哪台服务器上?
……
这些都叫做元数据,这些元数据被抽象为一个目录树,记录了这些复杂的对应关系。这些元数据由一个单独的模块进行管理,这个模块叫做NameNode。存放文件块的真实服务器叫做DataNode,所以用户访问HDFS的过程可以理解为:
用户-> HDFS -> NameNode -> DataNode

3. HDFS优点

  • 容量可以线性扩展
  • 有副本机制,存储可靠性高,吞吐量增大
  • 有了NameNode后,用户访问文件只需指定HDFS上的路径

发表评论

您必须 登录 才能发表留言!