HDFS 命令深入浅出

HDFS 命令深入浅出~

[[email protected] ~]# hadoop dfs

Usage: hadoop fs [generic options]
[-appendToFile <localsrc> ... <dst>]
[-cat [-ignoreCrc] <src> ...]
[-checksum <src> ...]
[-chgrp [-R] GROUP PATH...]
[-chmod [-R] <MODE[,MODE]... | OCTALMODE> PATH...]
[-chown [-R] [OWNER][:[GROUP]] PATH...]
[-copyFromLocal [-f] [-p] [-l] <localsrc> ... <dst>]  #常用的命令,请熟记
[-copyToLocal [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-count [-q] [-h] [-v] <path> ...]    #常用的命令,请熟记
[-cp [-f] [-p | -p[topax]] <src> ... <dst>]   #常用的命令,请熟记
[-createSnapshot <snapshotDir> [<snapshotName>]]
[-deleteSnapshot <snapshotDir> <snapshotName>]
[-df [-h] [<path> ...]]
[-du [-s] [-h] <path> ...]
[-expunge]
[-find <path> ... <expression> ...]
[-get [-p] [-ignoreCrc] [-crc] <src> ... <localdst>]
[-getfacl [-R] <path>]
[-getfattr [-R] {-n name | -d} [-e en] <path>]
[-getmerge [-nl] <src> <localdst>]
[-help [cmd ...]]
[-ls [-d] [-h] [-R] [<path> ...]]   #常用的命令,请熟记
[-mkdir [-p] <path> ...]   #常用的命令,请熟记
[-moveFromLocal <localsrc> ... <dst>]
[-moveToLocal <src> <localdst>]
[-mv <src> ... <dst>]
[-put [-f] [-p] [-l] <localsrc> ... <dst>]  #常用的命令,请熟记
[-renameSnapshot <snapshotDir> <oldName> <newName>]
[-rm [-f] [-r|-R] [-skipTrash] <src> ...]   #常用的命令,请熟记
[-rmdir [--ignore-fail-on-non-empty] <dir> ...]
[-setfacl [-R] [{-b|-k} {-m|-x <acl_spec>} <path>]|[--set <acl_spec> <path>]]
[-setfattr {-n name [-v value] | -x name} <path>]
[-setrep [-R] [-w] <rep> <path> ...]
[-stat [format] <path> ...]
[-tail [-f] <file>]   #常用的命令,请熟记
[-test -[defsz] <path>]
[-text [-ignoreCrc] <src> ...]  #常用的命令,请熟记
[-touchz <path> ...]    #常用的命令,请熟记
[-usage [cmd ...]]

练习使用上述命令

1.[[email protected] ~]# hadoop dfs -ls /    #列出文件或目录内容

2. hadoop dfs -ls -R /  递归列出目录内容

之前使用的命令是:也显示了使用ls -R代替lsr

3.查看目录使用情况

[[email protected] ~]# hadoop dfs -df /hbase

[[email protected] ~]# hadoop dfs -df /     #查看根目录使用情况

4.显示目录中所有文件及目录大小

[[email protected] ~]# hadoop dfs -du /

5.显示 指定路径 下的目录数以及文件数,输出格式:

目录数 文件数  大小  文件名

[[email protected] ~]# hadoop dfs -count /    #加上-q參數可查看文件索引

6.HDFS上創建文件

[[email protected] ~]# hadoop dfs -touchz /user/root/test001

[[email protected] ~]# hadoop dfs -ls /user/root    #hadoop dfs -ls /

7. 將HDFS上面的文件移動到目的文件夾

[[email protected] ~]# hadoop dfs -mv /user/root/test001 /user/root/test

[[email protected] ~]# hadoop dfs -ls /user/root/test

17/01/28 07:53:56 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 2 items
-rw-r--r-- 3 root supergroup 19 2017-01-07 11:31 /user/root/test/demo1
-rw-r--r-- 3 root supergroup 0 2017-01-28 07:49 /user/root/test/test001

8.將HDFS上面 相應路徑的文件移動到回收站

[[email protected] ~]# hadoop dfs -rm /user/root/test/test001
DEPRECATED: Use of this script to execute hdfs command is deprecated.
Instead use the hdfs command for it.

17/01/28 08:02:07 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
17/01/28 08:02:08 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes.
Deleted /user/root/test/test001

備注1:hadoop dfs -rmr    /user/root/test/test001 #删除相应目录以及目录下的文件,加上-skipTrash则直接删除

备注2:清除回收站-expunge

9.将本地centos文件上传至hdfs文件系统目录

[[email protected] ~]# hadoop dfs -put /usr/local/filecontent/wordsTest001 /user/root/

[[email protected] ~]# hadoop dfs -ls /

17/01/28 09:35:06 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 5 items
-rw-r--r-- 3 root supergroup 120064 2017-01-07 09:54 /234967-13112015163685.jpg
drwxr-xr-x - root supergroup 0 2017-01-28 06:58 /hbase
-rw-r--r-- 3 root root 20 2017-01-07 10:14 /hello2
drwxrwxrwx - root supergroup 0 2017-01-06 21:37 /tmp
drwxr-xr-x - root supergroup 0 2017-01-07 15:05 /user
[[email protected] ~]# hadoop dfs -ls /user/root

17/01/28 09:37:12 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 4 items
drwxr-xr-x - root supergroup 0 2017-01-05 23:58 /user/root/input
drwxr-xr-x - root supergroup 0 2017-01-06 00:02 /user/root/output
drwxr-xr-x - root supergroup 0 2017-01-28 08:02 /user/root/test
-rw-r--r-- 3 root supergroup 30 2017-01-28 09:34 /user/root/wordsTest001

10.put的另一种实现方法

[[email protected] ~]# hadoop dfs-copyFromLocal /usr/local/filecontent/wordsTest001 /user/root/test

[[email protected] ~]# hadoop dfs -ls /user/root/test

11.本地文件系统移动到HDFS上

[[email protected] ~]# hadoop dfs -moveFromLocal /usr/local/filecontent/word  /user/root/test

[[email protected] ~]#hadoop dfs -ls /user/root/test

查看本地文件系统发现文件已移走

12.下载Hdfs上面的文件到本地

[[email protected] ~]# hadoop dfs -get /user/root/test/word  /usr/local/filecontent/

查看结果:

補充:此時文件已存在會提醒已存在

方式2:[[email protected] ~]# hadoop dfs -copyToLocal  /user/root/test/word /usr/local/filecontent/

方式3:[[email protected] ~]# hadoop dfs -moveToLocal  /user/root/test/word /usr/local/filecontent/

#可以加-crc,表示crc文件校驗

13.将HDFS源路径下的所有文件名排序合并成一个文件输出到本地目录

[[email protected] ~]# hadoop dfs -getmerge /user/root/test/   /usr/local/result

addnl是可供選擇的項。表示指定在每個文件結尾添加換行符

14.查看Hdfs上面文本的内容

[[email protected] ~]# hadoop dfs -cat /user/root/test/word

或者:[[email protected] ~]# hadoop dfs -text /user/root/test/word

15.在HDFS上創建目錄和文件操作

創建目錄 [[email protected] ~]# hadoop dfs -mkdir  /user/test001

創建文件操作[[email protected] ~]# hadoop dfs -touchz  /user/test001/wordp

16.檢查Hdfs上面文件路徑

[[email protected] ~]# hadoop dfs -test -e  /user/test001/wordp

注:-e檢查文件是否存在   -z檢查文件是否為0字節  -d表示是目錄,返回1,否則0

17.顯示給定路徑的文件或目錄的統計信息,%b 文件大小%n文件名 %r複製因子 %y %Y修改日期

[[email protected] ~]# hadoop dfs -stat %b%n%o%r /user/test001/wordp

17/01/28 10:47:12 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
0wordp1342177283

18. 顯示Hdfs上路徑中的文件最後1字節内容

[[email protected] ~]# hadoop dfs -tail -f /user/root/test/word   #-f選項的内容會隨著文件内容更新而更新

19.HDFS改變文件或目錄權限chmod

[[email protected] ~]# hadoop dfs -chmod -R 777 /user/root/test/word    #-R表示递归

[[email protected] ~]# hadoop dfs -ls /user/root/test/word

17/01/28 12:22:53 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
-rwxrwxrwx 3 root supergroup 30 2017-01-28 09:56 /user/root/test/word

20.改变HDFS上面为path所属类别。-R表示递归操作

[[email protected] ~]# hadoop dfs -chown -R root /user/test
17/01/28 12:27:28 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

[[email protected] ~]# hadoop dfs -ls /user/test
17/01/28 12:27:38 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Found 1 items
drwxr-xr-x - root supergroup 0 2017-01-07 15:02 /user/test/demo2

备注:所有命令帮助文档,可帮助查询

Hdfs操作命令~End!

时间: 2024-09-30 11:13:59

HDFS 命令深入浅出的相关文章

二:HDFS 命令指南

命令具体选项请参考: http://hadoop.apache.org/docs/r2.6.3/hadoop-project-dist/hadoop-hdfs/HDFSCommands.html 1.HDFS命令通过bin/hdfs执行,语法如下: hdfs [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS] 配置文件          用户命令   基本选项           命令选项 COMMAND_OPTION

HDfs命令

HDFS命令分为用户命令(dfs,fsck等),管理员命令(dfsadmn,namenode,datanode等) hdfs -ls -lsr 执行lsr 是递归显示 drwxr-xr-x -hadoop(当前用户) supergroup(所属的组) d文件夹,接下来四个是当前用户-从组-其他(权限) hdfs命令 -dfs上传文件到HDFS 三种方式-put -copyFromLocal -moveFromLocal hdfs dfs -put /localurl /hdfsurl hdfs命

介绍hadoop中的hadoop和hdfs命令

有些hive安装文档提到了hdfs dfs -mkdir ,也就是说hdfs也是可以用的,但在2.8.0中已经不那么处理了,之所以还可以使用,是为了向下兼容. 本文简要介绍一下有关的命令,以便对hadoop的命令有一个大概的影响,并在想使用的时候能够知道从哪里可以获得帮助. 概述 在$HADOOP_HOME/bin下可以看到hadoop和hdfs的脚本. hdfs的相当一部分的功能可以使用hdoop来替代(目前),但hdfs有自己的一些独有的功能.hadoop主要面向更广泛复杂的功能. 本文介绍

Hadoop之HDFS命令

概述 所有的HDFS命令都调用bin/hdfs脚本文件,如果运行hdfs脚本没有带任何参数的话,则打印所有命令的描述. 使用: hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS] Hadoop是一个参数解析框架,采用解析泛型选项以及运行类. 命令参数 描述 --config --loglevel 指定一个默认的配置文件目录,默认值是: ${HADOOP_PREFIX}/conf. 重载Log级别.有效的日志级别包含:F

HDFS 命令大全

目录 概要 用户命令 dfs 命令 追加文件内容 查看文件内容 得到文件的校验信息 修改用户组 修改文件权限 修改文件所属用户 本地拷贝到 hdfs hdfs 拷贝到本地 获取目录,文件数量及大小 hdfs 内拷贝 createSnapshot 创建快照 deleteSnapshot 删除快照 显示空闲空间 显示文件和目录大小 清空回收站 查找文件 显示目录或文件的访问控制列表 显示文件或目录的扩展信息 ls mkdir moveFromLocal moveToLocal mv rm test

HDFS命令实现分析

HDFS命令概述 HDFS命令涉及两类,一类是hadoop命令,一类是hdfs命令,功能也分为两类,第一类是HDFS文件操作命令,第二类是HDFS管理命令. 二者都是shell命令,真正的命令只有hadoop和hdfs,而无所谓的ls/mv/cp/cat/mkdir-dfs/setQuota/fsck-等命令,后者都是以入参传递给hadoop和hdfs的. 具体实现参考bin/hadoop和bin/hdfs.hadoop族其他命令如yarn,实现机制类似.官方介绍如下: The File Sys

HDFS命令行及JAVA API操作

查看进程 jps 访问hdfs: hadoop-root:50070 hdfs bash命令: hdfs dfs <1>   -help:  显示命令的帮助的信息 <2>  -mkdir:创建一个新目录 -p -mkdir -p /test1/test2:创建目录,p可以创建不存在的父路径 <3> -ls:显示当前目录下的所有文件(-ls -R) -R:递归地查看   <4>   -put LICENSE.txt /test 将本地文件上传到HDFS上  

HDFS命令行操作 和 api操作

HDFS,是Hadoop Distributed File System的简称,是Hadoop抽象文件系统的一种实现.Hadoop抽象文件系统可以与本地系统.Amazon S3等集成,甚至可以通过Web协议(webhsfs)来操作.HDFS的文件分布在集群机器上,同时提供副本进行容错及可靠性保证.例如客户端写入读取文件的直接操作都是分布在集群各个机器上的,没有单点性能压力. HDFS相关的搭建可以看我前面的一篇博文,我们今天主要来讲下怎么操作hdfs的api和 hdfs命令行, java内操作H

HDFS命令行文件操作

Hadoop文件操作命令形式为 hadoop fs -cmd <args> 说明:cmd是具体的文件操作命令,<args>是一组数目可变的参数. Hadoop最常用的文件操作命令,包括添加文件和目录.获取文件.删除文件等.1 添加文件和目录 HDFS有一个默认工作目录/usr/$USER,其中$USER是你的登录用户名,作者的用户名是root.该目录不能自动创建,需要执行mkdir命令创建. hadoop fs -mkdir  /usr/root 使用Hadoop的命令put将本地