一、HDFS簡介
Hadoop Distributed File System(HDFS)是一個為處理超大數據集而設計的分布式文件系統。它旨在提供高吞吐量數據訪問,以及為運行在大規模硬件上的應用程序提供數據的容錯性。HDFS是Apache Hadoop關鍵子項目之一,它為支持Apache Hadoop生態系統中的其他子項目提供了核心資源。
二、HDFS架構
HDFS採用master/slave的架構,HDFS集群由一個NameNode和多個DataNode組成,一個HDFS集群只有一個NameNode,它是整個文件系統的管理者,負責文件系統的命名空間、用戶權限的驗證、存儲元數據等重要工作;而DataNode負責存儲實際的數據塊。
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
</property>
</configuration>
三、HDFS特性
1、數據容錯性
HDFS是一個設計用於運行在廉價硬件上的數據存儲系統。它提供數據的容錯性,就是說當一個節點失效時,數據依然是可用的。這通常是通過在多個節點上複製數據來實現的。
2、高吞吐率
HDFS優化了讀寫速度,它假設數據可能比內存大,因此大部分讀寫是磁盤I/O,所以它的設計目標是優化存儲器(含磁盤)的傳輸速度,即吞吐量。
3、大數據協調
HDFS可以存儲和處理大數據文件,通常達到GB、TB和PB級別。HDFS與MapReduce配合使用,可以完成數據存儲、計算和分析的整個過程。
四、HDFS操作示例
1、創建文件夾
hadoop fs -mkdir /user/hadoopdir
2、上傳文件
hadoop fs -put /home/user/file.txt /user/hadoopdir/
3、下載文件
hadoop fs -get /user/hadoopdir/file.txt /home/user/
4、列出文件夾下的文件
hadoop fs -ls /user/hadoopdir
5、刪除文件夾下的文件
hadoop fs -rm /user/hadoopdir/file.txt
五、總結
HDFS是一個為大規模數據集存儲和處理而設計的分布式文件系統,它保證數據的容錯性和高吞吐率,並能與MapReduce等工具配合使用完成整個大數據處理過程。掌握HDFS的操作和架構原理,對於學習和使用大數據相關技術有着重要的意義。
原創文章,作者:VTOEC,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/361696.html