HDFS的基本shell命令操作

本文详细介绍了如何在HDFS中进行文件和目录操作,包括ls、mkdir、put、get、mv、cp、rm等命令的使用,以及chmod设置权限,df查看空间,setrep修改副本数。适合Hadoop开发者理解和实践HDFS的基本操作。
摘要由CSDN通过智能技术生成
  • 查看指定目录下信息  -ls

    # -h 人性化显示
    # -R 递归显示
    hdfs dfs -ls [-h] [-R] <args>
  • 创建文件夹   -mkdir

    # -p 创建父目录
    hdfs dfs -mkdir [-p] <paths>
  • 上传文件  -put

    hdfs dfs -put <linux路径> <hdfs路径>
    # 将单个 src 或多个 srcs 从本地文件系统复制到目标文件系统
    # src代表的是本地目录 所谓的本地指的是客户端所在的机器 
    # dst代表的是HDFS
    # -p:保留访问和修改时间,所有权和权限。
    # -f:覆盖目的地(如果已经存在)
    
    hdfs dfs -put file:///root/itcast.txt hdfs://node1:8020/itcast	
    
    hdfs dfs -put itcast.txt /itcast
  • 下载文件  -get

    # 复制hdfs文件到本地文件系统。
    hdfs dfs -get <hdfs路径> <linux路径>
    
    # 复制hdfs指定节点的文件到本地文件系统。
    hdfs dfs -get hdfs://node1:8020/itcast/itcast.txt file:///root/
  • 合并下载文件  -getmerge

    # 合并下载多个文件,其功能和 appendToFile 相反的动作
    hdfs dfs -getmerge /input/* ./merge.txt
    # 查看合并下载后的文件
    cat merge.txt 
  • 文件移动 -mv、复制 -cp、删除 -rm

    # 移动
    hdfs dfs -mv <linux路径> <hdfs路径>
    # 复制
    hdfs dfs -cp <linux路径> <hdfs路径>
    # 递归删除
    hdfs dfs -rm -r <linux路径> <hdfs路径>
    
    # 跨集群复制 distcp
    hadoop distcp hdfs://node1:8020/input/1.txt hdfs://node5:8020/test
  • 追加内容进文件  -appendToFile

    # 准备工作
    echo 1 >> 1.txt
    echo 2 >> 2.txt
    echo 3 >> 3.txt
    hadoop fs -put 1.txt /
    hadoop fs -cat /1.txt
    
    # 把本地文件 2.txt 和 3.txt 的内容追加到hdfs中的 1.txt
    hdfs dfs -appendToFile 2.txt 3.txt /1.txt
    hdfs dfs -cat /1.txt
    
    # 追加的用途:把本地的小文件上传中合并成为大文件 解决小文件场景的。
  • 查看文件内容  -cat

    # cat 适合小文件
    # tail 将文件的最后一千字节内容显示到stdout  -f参数支持实时追踪查看
    hdfs dfs -cat /1.txt
  • 修改权限  -chmod

    # hdfs在设计的时候 借鉴模仿着linux权限管理模式
    # 也有所谓的读写执行 user group others  777
    # chgrp  修改所属组
    # chmod  修改权限
    # cgown  修改拥有者
    hdfs dfs -chmod 777 /1.txt
  • 统计HDFS可用空间  -df

    hdfs dfs -df -h /
    # 输出
    # Filesystem            Size   Used  Available  Use%
    # hdfs://node1:8020  111.1 G  5.0 M     98.3 G    0%
  • 修改文件的副本数  -setrep

    # hadoop fs -setrep -w N -R
    # -w wait等待 修改副本客户端是否等待修改完毕再推出
    # N 就是修改之后的副本数
    
    hadoop fs -setrep -w 2 /input/1.txt
    hadoop fs -setrep 2 /input/2.txt

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奇迹虎虎

客官,赏个银子吧,别下次一定了

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值