本项目是南阳理工学院大数据技术基础课实验【Hadoop云盘技术实践】,基于之前课程设计https://github.com/ztcly/EAD_Experiment改编而成。
注意:以下部分来自于实验指导书
- 熟悉HDFS(Hadoop Distributed File System)的基本原理
- 掌握HDFS的特点、基本操作、常用API及读写数据流等。
- HDFS的主要设计理念
-
存储超大文件。这里的“超大文件”是指几百MB、GB甚至TB级别的文件。
-
最高效的访问模式是 一次写入、多次读取(流式数据访问)
HDFS存储的数据集作为hadoop的分析对象。在数据集生成后,长时间在此数据集上进行各种分析。每次分析都将设计该数据集的大部分数据甚至全部数据,因此读取整个数据集的时间延迟比读取第一条记录的时间延迟更重要。
-
运行在普通廉价的服务器上。HDFS设计理念之一就是让它能运行在普通的硬件之上,即便硬件出现故障,也可以通过容错策略来保证数据的高可用。
-
- HDFS的忌讳
- 将HDFS用于对数据访问要求低延迟的场景 由于HDFS是为高数据吞吐量应用而设计的,必然以高延迟为代价。
- 存储大量小文件 HDFS中元数据(文件的基本信息)存储在namenode的内存中,而namenode为单点,小文件数量大到一定程度,namenode内存就吃不消了。
- HDFS基本概念 数据块(block):大文件会被分割成多个block进行存储,block大小默认为64MB。每一个block会在多个datanode上存储多份副本,默认是3份。 namenode:namenode负责管理文件目录、文件和block的对应关系以及block和datanode的对应关系。 datanode:datanode就负责存储了,当然大部分容错机制都是在datanode上实现的。