配置完成后,首先需确认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临时开放目录权限(生产环境需谨慎使用)。