无论你如何将Hadoop与Spark进行对比,无论Spark生态多么成熟和完善,其底层终归要基于HDFS,毕竟这是目前最成熟的分布式底层文件系统,几乎没有哪家公司愿意重新花费精力研发一个全新的文件系统。
本文将讨论Hadoop分布式文件系统(HDFS)的基本概念以及管理HDFS的十大Hadoop Shell命令。HDFS是Apache Hadoop框架的底层文件系统,是一个分布式存储框架,跨越数千种商用硬件。该文件系统提供容错、高吞吐、流数据访问以及高可靠性等功能。HDFS的体系架构适用于存储大量数据及快速处理,HDFS是Apache生态系统的一部分。
在此之前,我们先来了解Apache Hadoop框架,其主要包含以下几大模块:
Hadoop Common——包含Hadoop其他模块所需的库和实用程序;
HDFS——商用机存储数据的分布式文件系统,在集群中提供非常高的聚合带宽;
Hadoop YARN ——资源管理平台,负责管理集群上的计算资源并使用它们调度用户应用程序;
Hadoop MapReduce——用于大规模数据处理的编程模型。
Hadoop中的所有模块都设计了一个基本假设,即硬件故障(单个机器或整个机架)是显而易见的,因此应由Hadoop框架在软件应用程序中自动处理,Apache Hadoop的HDFS组件最初来自Google的MapReduce和Google File System(GFS)。
HDFS是Hadoop应用程序使用的主要分布式存储,HDFS集群主要由NameNode和DataNode组成。NameNode管理文件系统元数据,DataNode用于存储实际数据。
</