随着数据量的爆炸性增长,传统的存储系统已经无法满足需求。Hadoop分布式文件系统(HDFS)应运而生,它是一个为处理大规模数据集而设计的分布式文件系统,能够在成本效益高的硬件上部署,并且具有高容错性。HDFS是Apache Hadoop生态系统的核心组件之一,它遵循“写一次读多次”的原则,从而减少了数据加载的开销。
HDFS因其能够处理海量数据集、快速从硬件故障中恢复、高度可移植性以及对流数据的访问能力而受到青睐。以下是选择HDFS的一些理由:
HDFS架构遵循主从模式,包含以下组件:
要在分布式模式下启动HDFS,首先需要格式化配置好的HDFS文件系统。执行以下命令以启动HDFS服务器(NameNode):
$ Hadoop Namenode -format
格式化HDFS后,可以启动分布式文件系统。运行以下命令以启动NameNode和DataNode作为集群:
$ start-dfs.sh
注意:.sh是Hadoop shell的扩展名。
一旦将文件信息加载到服务器,就可以找到HDFS中所有文件和目录的特定列表。使用“ls”命令获取文件和目录的名称及其状态:
$HADOOP_HOME/bin/hadoop fs -ls
在将数据插入Hadoop文件系统之前,数据应该存在于本地系统中。以下是将数据插入Hadoop分布式文件系统的步骤:
$HADOOP_HOME/bin/hadoop fs -mkdir /user/input
$HADOOP_HOME/bin/hadoop fs -put /home/sample.txt /user/input
$HADOOP_HOME/bin/hadoop fs -ls /user/input
$HADOOP_HOME/bin/Hadoop fs -cat /user/output/sample
$HADOOP_HOME/bin/hadoop fs -get /user/output/ /home/cloudera/
$ stop-dfs.sh