温馨提示×

Ubuntu HDFS如何上传下载

小樊
33
2025-12-20 19:33:28
栏目: 智能运维

Ubuntu 下 HDFS 上传与下载操作指南

一 环境准备与启动

  • 启动 HDFS 服务:在 Hadoop 安装目录执行
    • 启动:sbin/start-dfs.sh
    • 验证进程:jps,应看到 NameNode、DataNode、SecondaryNameNode
  • 创建用户目录(首次使用建议执行):hdfs dfs -mkdir -p /user/$USER
  • 访问 Web 界面:打开浏览器访问 http://localhost:9870(Hadoop 3.x 默认 NameNode Web 端口)

二 命令行上传与下载

  • 上传本地文件到 HDFS
    • 基本:hdfs dfs -put <本地路径> <HDFS路径>
    • 示例:hdfs dfs -put /home/ubuntu/data.txt /user/ubuntu/input/
  • 从 HDFS 下载到本地
    • 基本:hdfs dfs -get <HDFS路径> <本地路径>
    • 示例:hdfs dfs -get /user/ubuntu/output/part-r-00000 ./result.txt
  • 常用补充
    • 查看文件:hdfs dfs -cat <HDFS文件>
    • 递归列目录:hdfs dfs -ls -R <HDFS目录>
    • 删除文件/目录:hdfs dfs -rm [-r] <HDFS路径>
  • 命令前缀说明
    • hadoop fs / hadoop dfs / hdfs dfs 均可用于 HDFS 操作,功能等价;推荐统一使用 hdfs dfs

三 进阶用法

  • 覆盖写入本地文件到 HDFS
    • 使用 -copyFromLocal -f 强制覆盖:hdfs dfs -copyFromLocal -f local.txt /user/ubuntu/file.txt
  • 追加内容到已存在文件
    • hdfs dfs -appendToFile local.txt /user/ubuntu/file.txt
  • 复制到本地并重命名
    • 使用 -copyToLocalhdfs dfs -copyToLocal /user/ubuntu/file.txt ./downloaded.txt
  • 查看文件内容
    • 文本预览:hdfs dfs -text /user/ubuntu/file.txt-cat
  • 目录与权限
    • 递归创建目录:hdfs dfs -mkdir -p /user/ubuntu/dir1/dir2
    • 递归删除:hdfs dfs -rm -r /user/ubuntu/dir1
  • 命令帮助
    • 查看用法:例如 hdfs dfs -help put

四 常见问题排查

  • 无法连接 NameNode 或页面打不开
    • 确认已启动:sbin/start-dfs.sh
    • 检查端口:Hadoop 3.x 默认 9870;Hadoop 2.x 常见为 50070
  • 权限被拒绝
    • 临时方案(测试环境):在 hdfs-site.xml 设置 dfs.permissions=false,重启 HDFS
  • 目标已存在导致上传失败
    • 使用 -copyFromLocal -f 覆盖,或先 -rm 再上传
  • 本地与 HDFS 路径混淆
    • 上传时“源”是本地路径、“目的”是 HDFS 路径;下载时相反
  • 目录不存在
    • -mkdir -p 创建父目录再操作

0