配置完成后,首先需確認HDFS核心進程是否正常啟動。在終端執行jps
命令,若輸出中包含NameNode(主節點)、DataNode(數據節點)進程(偽分布式模式下無SecondaryNameNode,集群模式下需包含),則說明HDFS服務啟動成功。
通過瀏覽器訪問HDFS的Web管理界面,直觀查看集群狀態:
http://localhost:9870
(Hadoop 3.x版本)或http://localhost:50070
(Hadoop 2.x版本),確認“Live Nodes”顯示當前DataNode節點在線(偽分布式模式為1個)。http://localhost:8088
,檢查“Active Nodes”顯示NodeManager節點正常。使用HDFS命令行工具執行常見文件操作,驗證文件系統的讀寫功能:
hdfs dfs -mkdir -p /user/test
(-p
參數遞歸創建父目錄)。/etc/hosts
)上傳至HDFS:hdfs dfs -put /etc/hosts /user/test/
。hdfs dfs -ls /user/test
,確認上傳的文件存在。hdfs dfs -cat /user/test/hosts
,檢查文件內容是否與本地一致。hdfs dfs -get /user/test/hosts ./hosts_copy
,將HDFS文件下載至本地,驗證數據完整性。hdfs dfs -rm /user/test/hosts
,清理測試文件。運行Hadoop自帶的MapReduce示例程序,驗證集群的計算能力:
echo "Hello Hadoop World" > input.txt
、echo "Hadoop is awesome" >> input.txt
。hdfs dfs -mkdir -p /user/hadoop/wordcount/input
、hdfs dfs -put input.txt /user/hadoop/wordcount/input/
。yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /user/hadoop/wordcount/input /user/hadoop/wordcount/output
。hdfs dfs -cat /user/hadoop/wordcount/output/part-r-00000
,預期輸出單詞及出現次數(如Hadoop 2
、is 2
、awesome 1
、World 1
)。yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 10 100
,驗證任務調度功能,預期輸出π的近似值(如3.141592653589793
)。使用Hadoop自帶的TestDFSIO
工具評估HDFS的讀寫性能:
yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-*.jar TestDFSIO -write -nrFiles 10 -size 1GB
(生成10個1GB文件,測量寫入吞吐量)。yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-*.jar TestDFSIO -read -nrFiles 10 -size 1GB
(讀取上述文件,測量讀取吞吐量)。java -version
顯示Java 8或11)、SSH免密登錄(ssh localhost
無需密碼)已正確配置。hdfs dfs -chmod -R 777 /user/test
臨時開放目錄權限(生產環境需謹慎使用)。