在 Linux 上测试 HDFS 配置是否成功,一般按下面几个层次来做:从「进程能否起来」→「命令行能否用」→「读写功能是否正常」。
HDFS 依赖 Java:
java -version
建议 JDK 8 或 11(与 Hadoop 版本匹配)
echo $HADOOP_HOME
hadoop version
能看到版本信息说明安装没问题。
start-dfs.sh
jps
应至少看到:
hdfs dfsadmin -report
能看到 DataNode 信息说明配置基本正确。
hdfs dfs -mkdir /test
hdfs dfs -ls /
echo "hello hdfs" > test.txt
hdfs dfs -put test.txt /test/
hdfs dfs -cat /test/test.txt
hdfs dfs -get /test/test.txt ./out.txt
http://localhost:9870
(Hadoop 3.x,老版本是 50070)
可看到:
Connection refused
检查:
core-site.xml 中 fs.defaultFS<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
查看日志:
tail -n 100 $HADOOP_HOME/logs/hadoop-*-datanode-*.log
常见原因:
解决:
stop-dfs.sh
rm -rf /tmp/hadoop-* # 测试环境
hdfs namenode -format
start-dfs.sh
hdfs dfs -mkdir -p /demo
hdfs dfs -put $HADOOP_HOME/etc/hadoop/*.xml /demo
hdfs dfs -ls /demo
如果你愿意,可以告诉我:
我可以帮你针对性排查配置。