HDFS常用命令操作

HDFS常用操作命令如下:

  • 查询目录
# 查看/目录下的目录和文件
hadoop fs -ls / 
# 递归查看/目录下的目录和文件
hadoop fs -lsr /
  • 创建目录
# 新增目录/user/test,hdfs支持同时创建多级目录(如果父目录user不存在,会创建user和test两级目录)
hadoop fs -mkdir /user/test
  • 上传、下载文件
# 将1.txt文件上传到hdfs的/user/test目录下
hadoop fs -put 1.txt /user/test
# 将1.txt文件上传到hdfs的/user/test目录下,重新命名为2.txt
hadoop fs -put 1.txt /user/test/2.txt
# 将hdfs的/user/test/1.txt文件下载到本机当前目录下
hadoop fs -get /user/test/1.txt ./
# 将hdfs的/user/test/1.txt文件下载到本机当前目录下,并重新命名为2.txt
hadoop fs -get /user/test/1.txt ./2.txt
  • 删除
# 注意删除命令使用要慎重!!!
# 删除文件1.txt
hadoop fs -rm /user/test/1.txt 
# 删除目录/user/test
hadoop fs -rm /user/test
  • 移动
# 将1.txt文件移动到/user/tmp目录下
hadoop fs -mv /user/test/1.txt /user/tmp 
  • 复制
# cp命令适用于小规模数据拷贝,大规模数据,建议使用distcp命令
hadoop fs -cp /user/test/1.txt /user/tmp 将文件1.txt拷贝到/user/tmp目录下。
  • 大规模数据拷贝
hadoop distcp [-参数1,-参数2,...] 源目录 目标目录
常用参数主要有:
-skipcrccheck:忽略crc校验。数据拷贝时,默认会对拷贝前后的数据做crc校验。对于跨集群拷贝来说,不同集群间的文件块大小是不一样的,因此及时数据正确拷贝,其crc比对结果可能仍然有误。因此,对于使用distcp命令的用户,若数据为跨集群拷贝,那么请加此参数。
-i:忽略拷贝failed异常。该参数往往用在数据量比较大的(如几周)拷贝。拷贝过程中,往往会由于网络不稳定,不可避免的导致极少数节点数据拷贝出错。-i参数,可以忽略节点拷贝异常,从而不至于使得job无法进行。
-其它参数:distcp还有诸多其它参数,如带宽限制,副本设置等等。
  • 统计文件容量
#统计/user/test目录下每一子目录及文件的占用空间容量
hadoop fs -du -h /user/test
# 统计/user/test目录的占用空间容量
hadoop fs -du -s -h /user/test 
  • 统计文件数
# 统计/user/test目录的信息,返回结果依次为:文件夹总数量,文件总数量,占用空间容量,目录
hadoop fs -count /user/test
# 统计/user/test目录的信息,返回结果自动单位换算
hadoop fs -count -h /user/test
  • 查看文件内容
# 查看文件内容-cat/-text
hadoop fs -cat /user/test/1.txt 
hadoop fs -text /user/test/1.txt
  • 创建空文件
# 创建一个1.txt空文件
hadoop fs -touchz /user/test/1.txt
  • 配额查询
# 查询/user/test帐号的配额,返回结果依次为:节点数总配额,剩余节点数,空间总配额,剩余空间,已用目录数量,已用文件数量,已用空间容量
hadoop fs -count -q /user/test
  • 权限配置
# 设置1.txt的权限为777
hadoop -chmod 777 /user/test/1.txt
  • 用户设置
# 递归设置/user/test目录的用户和组用户为yuhaohao。
hadoop -chown -R yuhaohao:yuhaohao /user/test
posted @ 2020-08-04 16:50  yuhaohao  阅读(413)  评论(0编辑  收藏  举报