温馨提示×

linux hadoop如何上传文件

小樊
50
2026-08-25 01:03:26
栏目: 智能运维

在 Linux 环境下使用 Hadoop 上传文件,通常是通过 HDFS 命令行完成的。下面按常见场景给你一个完整说明。


一、前提条件

  1. Hadoop 已安装并配置好
  2. HDFS 服务已启动
    start-dfs.sh
    
  3. 能正常执行 hadoophdfs 命令

二、基本上传命令(最常用)

1️⃣ 上传本地文件到 HDFS

hdfs dfs -put localfile /hdfs/path

✅ 示例:

hdfs dfs -put data.txt /user/hadoop/

2️⃣ 上传并重命名

hdfs dfs -put data.txt /user/hadoop/newname.txt

3️⃣ 上传整个目录

hdfs dfs -put ./mydir /user/hadoop/

三、其他常用上传方式

4️⃣ 使用 -copyFromLocal(推荐)

作用和 -put 类似,但语义更清晰(只能从本地到 HDFS):

hdfs dfs -copyFromLocal data.txt /user/hadoop/

5️⃣ 强制覆盖已存在文件

hdfs dfs -put -f data.txt /user/hadoop/data.txt

6️⃣ 从标准输入上传

echo "hello hdfs" | hdfs dfs -put - /user/hadoop/test.txt

四、查看是否上传成功

hdfs dfs -ls /user/hadoop/

查看文件内容:

hdfs dfs -cat /user/hadoop/data.txt

五、指定 HDFS 路径的注意事项

  • HDFS 路径 区分大小写
  • 如果路径不存在,需要先创建目录:
hdfs dfs -mkdir -p /user/hadoop/input

六、常见问题

❌ 权限不足

Permission denied

解决:

hdfs dfs -chmod 777 /user/hadoop

或切换用户:

sudo -u hdfs hdfs dfs -put ...

❌ NameNode 未启动

No Route to Host / NameNode is in safe mode

解决:

hdfs dfsadmin -safemode leave

七、总结(最常用)

hdfs dfs -put localfile /hdfs/path

如果你愿意,可以告诉我:

  • Hadoop 版本(2.x / 3.x)
  • 是否使用 HA / Kerberos
  • 是单机伪分布还是集群

我可以给你更精确的命令 ✅

0