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
- 复制到本地并重命名
- 使用 -copyToLocal:hdfs 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 路径;下载时相反
- 目录不存在