Hadoop Hdfs常用命令

Hadoop Hdfs常用命令

概述
本文档介绍Hadoop hdfs系统的一些常用命令。

操作hdfs系统可以使用hadoop fs 也可以使用 hdfs dfs ,两者效果一样。

https://github.com/heibaiying/BigData-Notes/blob/master/notes/Hadoop-HDFS.md

参考: http://hadoop.apache.org/docs/r1.0.4/cn/hdfs_shell.html
在这里插入图片描述

常用命令

一、 hadoop fs (hdfs dfs) 文件操作

1) ls 显示目录下的所有文件或者文件夹

使用方法: hadoop fs -ls [uri形式目录]

示例: hadoop fs –ls / 显示根目录下的所有文件和目录

显示目录下的所有文件可以加 -R 选项

示例: hadoop fs -ls -R /

2) cat 查看文件内容

使用方法:hadoop fs -cat URI [URI …]

示例: hadoop fs -cat /in/test2.txt

3) mkdir 创建目录

使用方法:hadoop fs -mkdir [uri形式目录]

示例: hadoop fs –mkdir /test

创建多级目录 加上 –p

示例: hadoop fs –mkdir -p /a/b/c

4) rm 删除目录或者文件

使用方法:hadoop fs -rm [文件路径] 删除文件夹加上 -r

示例: hadoop fs -rm /test1.txt

删除文件夹加上 -r,

示例:hadoop fs -rm -r /test

格式:hdfs dfs -rm [-r] [-skipTrash] URI [URI]
作用:删除参数指定的文件,参数可以有多个,此命令删除文件和非空目录,如果指定-skipTrash选项,那么在回收站可用的的情况下,该选项将跳过回收站直接删除文件,否则,在回收站可用是,在HDFS Shell中执行此命令,会将文件暂时放到回收站中。

5) put 复制文件

将文件复制到hdfs系统中,也可以是从标准输入中读取文件,此时的dst是一个文件

使用方法: hadoop fs -put <localsrc> ... <dst>

示例:

Hadoop fs -put /usr/wisedu/temp/test1.txt /

从标准输入中读取文件:hadoop fs -put -/in/myword

6) cp 复制系统内文件

使用方法:hadoopfs -cp URI [URI …] <dest>

将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。
示例:

hadoop fs -cp /in/myword/word

7) copyFromLocal 复制本地文件到hdfs

使用方法:hadoop fs-copyFromLocal URI

除了限定源路径是一个本地文件外,和put命令相似

8) get 复制文件到本地系统

使用方法:hadoop fs -get[-ignorecrc] [-crc]

复制文件到本地文件系统。可用-ignorecrc选项复制CRC校验失败的文件。使用-crc选项复制文件以及CRC信息。

示例:hadoop fs -get/word /usr/wisedu/temp/word.txt

9) copyToLocal 复制 文件到本地系统

使用方法:hadoop fs-copyToLocal [-ignorecrc] [-crc] URI

除了限定目标路径是一个本地文件外,和get命令类似。

示例:hadoop fs - copyToLocal/word /usr/wisedu/temp/word.txt

10) mv

将文件从源路径移动到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。不允许在不同的文件系统间移动文件。

使用方法:hadoop fs -mv URI [URI …]

示例:hadoop fs -mv /in/test2.txt /test2.txt

11) du 显示文件大小

显示目录中所有文件的大小。

使用方法:hadoop fs -du URI [URI …]

示例: hadoop fs -du /

   显示当前目录或者文件夹的大小可加选项 -s

    示例: hadoop fs -du -s /

12) touchz 创建空文件

使用方法:hadoop fs -touchz URI [URI …]

创建一个0字节的空文件

示例:hadoop fs -touchz /empty.txt

13) chmod 改变文件权限

使用方法:hadoop fs -chmod[-R] <MODE[,MODE]… | OCTALMODE> URI [URI …]

与Linux平台下chmod命令相似,改变文件的权限。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。

示例:先创建一个普通用户test:sudo useradd -m test

  再用wisedu用户在hdfs系统目录/a下创建hello.txt文件,此时test具有读取/a/hello.txt文件的权限,如下图:

 

  在切换回wisedu用户修改文件的权限,让/a目录下的文件对于其他用户都不可读,命令: hadoop fs -chmod -R o-r /a  如下图所示,再切换回test用户查看/a/hello.txt文件时提示没有权限:

14) chown 改变文件所有者

使用方法:hadoop fs -chown [-R] [OWNER][:[GROUP]] URI [URI]

改变文件的拥有者。使用-R将使改变在目录结构下递归进行。命令的使用者必须是超级用户。

示例:hadoop fs -chown -R test /a 如下图:

15) chgrp 改变文件所在组

使用方法:hadoop fs -chgrp [-R] GROUP URI [URI …]

改变文件所属的组。使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。

示例:hadoop fs -chgrp -R test /a 如下图:

二、 hdfs dfsadmin 管理命令

1) -report

查看文件系统的基本信息和统计信息。

示例:hdfs dfsadmin -report

2) -safemode

enter | leave | get | wait:安全模式命令。安全模式是NameNode的一种状态,在这种状态下,NameNode不接受对名字空间的更改(只读);不复制或删除块。NameNode在启动时自动进入安全模式,当配置块的最小百分数满足最小副本数的条件时,会自动离开安全模式。enter是进入,leave是离开。

示例:hdfs dfsadmin -safemode get

 hdfsdfsadmin -safemode enter

3) -refreshNodes

重新读取hosts和exclude文件,使新的节点或需要退出集群的节点能够被NameNode重新识别。这个命令在新增节点或注销节点时用到。

示例:hdfs dfsadmin -refreshNodes

4) -finalizeUpgrade

终结HDFS的升级操作。DataNode删除前一个版本的工作目录,之后NameNode也这样做。

5) -upgradeProgress

status| details | force:请求当前系统的升级状态 | 升级状态的细节| 强制升级操作

6) -metasave filename

保存NameNode的主要数据结构到hadoop.log.dir属性指定的目录下的文件中。

7) -setQuota……

为每个目录设定配额。目录配额是一个长整形整数,强制设定目录树下的名字个数。

8) -clrQuota……

为每个目录清除配额设定。

9) -help

显示帮助信息

————————————————
版权声明:本文为CSDN博主「sunshingheavy」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/sunshingheavy/article/details/53227581

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值