在 Linux 环境下使用 Hadoop 上传文件,通常是通过 HDFS 命令行完成的。下面按常见场景给你一个完整说明。
start-dfs.sh
hadoop 或 hdfs 命令hdfs dfs -put localfile /hdfs/path
✅ 示例:
hdfs dfs -put data.txt /user/hadoop/
hdfs dfs -put data.txt /user/hadoop/newname.txt
hdfs dfs -put ./mydir /user/hadoop/
-copyFromLocal(推荐)作用和 -put 类似,但语义更清晰(只能从本地到 HDFS):
hdfs dfs -copyFromLocal data.txt /user/hadoop/
hdfs dfs -put -f data.txt /user/hadoop/data.txt
echo "hello hdfs" | hdfs dfs -put - /user/hadoop/test.txt
hdfs dfs -ls /user/hadoop/
查看文件内容:
hdfs dfs -cat /user/hadoop/data.txt
hdfs dfs -mkdir -p /user/hadoop/input
Permission denied
解决:
hdfs dfs -chmod 777 /user/hadoop
或切换用户:
sudo -u hdfs hdfs dfs -put ...
No Route to Host / NameNode is in safe mode
解决:
hdfs dfsadmin -safemode leave
hdfs dfs -put localfile /hdfs/path
如果你愿意,可以告诉我:
我可以给你更精确的命令 ✅