HDFS文件操作命令

1.HDFS启动与关闭

  1. 启动脚本:

    start-all.sh

  1. 关闭脚本:

    stop-all.sh

2.HDFS文件操作命令

2.1 操作命令格式

hdfs dfs -cmd args

cmd是具体命令

args是命令参数

2.2 cat

格式:hdfs dfs -cat fileurl

作用:将参数所指的文件内容输出到stdout

示例:

  • hdfs dfs -cat /user/input/test

2.3 chgrp

格式:hdfs dfs -chgrp [-R] GROUP URL

作用:改变文件所属的用户组。如果使用-R选项,则这一操作对整个目录结构递归执行。要使用这个命令必须是该文件的所属用户或者超级用户。

2.4 chmod

格式:hdfs dfs -chmod [-R] URL

作用:修改文件的权限。如果加了-R选项则对整个目录进行递归执行。

2.5 chown

格式:hdfs dfs -chown [-R] [OWNER] [,[GROUP]] URI

作用:改变文件的所属用户。如果使用-R选项,则这一操作对整个目录进行递归执行。使用这一命令的用户必须是文件在命令变更之前的所属用户,或者是超级用户。

2.6 copyFromLocal

格式:hdfs dfs -copyFromLocal <localsrc> URI

作用:与put命令相似,但是要限定源文件路径为本地文件系统。

2.7 copyToLocal

格式:hdfs dfs -copyToLocal [-ignorecrc] [-crc] URI <localdst>

作用:与get命令类似,但是要限定目标文件路径为本地文件系统。

2.8 count

格式:hdfs dfs -count [-q] <paths>

作用:统计匹配对应路径下的目录数,文件数,字节数(文件大小)。

选项意义:使用-count时,输出的列为:DIR_COUNT,FILE_COUNT,CONTENT_SIZE,FILE_NAME

从左到右分别对应 : 目录下已存在的目录数,文件数,文件大小,文件名

使用-count -q时,输出的列为:

QUOTA,REMAINING_QUATA , SPACE_QUOTA , REMAINING_SPACE_QUATA , DIR_COUNT,

FILE_COUNT , CONTENT_SIZE , FILE_NAME

从左到右分别对应 : 目录下最大允许文件+目录数(不存在上限,则为none),目录下可增加目录数,文件数(不存在上限,则为inf) ,目录下最大允许空间(不存在上限,则为none),目录下可用最大空间(不存在上限,则为inf);后面几个和-count选项一致,分别对应目录下已存在的目录数,文件数,文件大小,文件名。

示例:

  • hdfs dfs -count hdfs://nn1.example.com/file1 hdfs://nn2.example.com/file2
  • hdfs dfs -count -q hdfs://nn1.example.com/file1

成功结束返回0,出现错误返回-1.

2.9 cp

格式:hdfs dfs -cp URI <dest>

作用:将文件拷贝到目标路径之中。如果<dest>为目录的话,可以将多个文件拷贝到该目录下

示例:

  • hdfs dfs -cp /user/input/file1 /user/output/file2
  • hdfs dfs -cp /user/input/file1 /user/input/file2 /user/output

返回值:成功返回0,出现错误返回1

2.10 du

格式:hdfs dfs -du [-s] [-h] URI 

作用:如果参数为目录,显示该目录+文件下的大小;若参数为单个文件,则显示文件大小。

选项意义:

-s 只输出所有文件大小的累加和,而不是单个文件的大小。

-h 会将文件大小的数值用方便阅读的形式表示,比如用64.0M代替67108864

示例:

  • hdfs dfs -du /user/hadoop/dir1 /user/hadoop/file1 hdfs://nn.example.com/user/hadoop/dir1

 返回值:成功结束返回0,出现错误返回-1

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

List的Select 和Select().tolist()

List<PersondelpnewList<Person{newPerson{Id1,Name"小明1",Age11,Sign0},newPerson{Id2,Name"小明2",Age12,