配置完成后,首先需確認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臨時開放目錄權限(生產環境需謹慎使用)。