在 Linux 环境下向 HDFS(Hadoop Distributed File System) 上传文件,通常使用 Hadoop 自带的 hdfs dfs 或 hadoop fs 命令。下面是常用方法和示例。
HADOOP_HOME 和 PATHhdfs dfs -put localfile.txt /user/hadoop/
或
hadoop fs -put localfile.txt /user/hadoop/
说明:
localfile.txt:本地 Linux 文件路径/user/hadoop/:HDFS 目标目录hdfs dfs -put localfile.txt /user/hadoop/newname.txt
hdfs dfs -put /local/dir /user/hadoop/
hdfs dfs -put -f localfile.txt /user/hadoop/
-copyFromLocal与 -put 类似,但只能从本地上传:
hdfs dfs -copyFromLocal localfile.txt /user/hadoop/
cat localfile.txt | hdfs dfs -put - /user/hadoop/localfile.txt
hdfs dfs -ls /user/hadoop/
Permission denied: user=xxx, access=WRITE
解决:
hdfs dfs -chmod 777 /user/hadoop
或修改属主:
hdfs dfs -chown user:group /user/hadoop
确保环境变量正确:
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
如果你有 具体场景(如 Kerberos 认证、Hadoop HA、大文件、压缩上传),可以告诉我,我可以给你更针对性的命令。