HDFS命令行操作

HDFS命令行操作

(以下是hadoop 1.x 版本的命令使用)

装好hadoop之前首先要进行一个格式化

hadoop namenode -format

运行之后,可以将文件夹都列出来

hadoop fs -ls /

例如打印user目录

hadoop fs -ls /user

如何将本地文件提交到hadoop的inpput目录下去

hadoop fs -put xxx /input

(注意当前所在的位置pwd)

如何将文件从hadoop上input文件目录下的xxx文件下载下来

hadoop fs -get input/xxx xxx

查看占用多少空间,使用多少命令

hadoop dfsadmin -report

(以下是hadoop 2.x 版本的HDFS命令行操作,大家可以对比一下不同)

  1. 同时上传多个文件到HDFS里面
hdfs dfs -appendToFile <localsrc> ... <dst>
  1. 查看文件内容
hdfs dfs -cat URI [URI ...]
  1. 修改文件所属组
hdfs dfs -chgrp [-R] GROUP URI [URI ...]
  1. 修改文件权限
hdfs dfs -chmod [-R] <MODE[,MODE]... | OCTALMODE> URI [URI ...]
  1. 修改文件所有者,文件所属组,其他用户的读、写、执行权限
hdfs dfs -chown [-R] [OWNER][:[GROUP]] URI [URI ]
  1. 复制文件到hdfs
hdfs dfs -copyFromLocal <localsrc> URI
  1. 复制文件到本地
hdfs dfs -copyToLocal [-ignorecrc] [-crc] URI <localdst>
  1. 统计文件及文件夹数目
hdfs dfs -count [-q] <paths>
  1. Hadoop HDFS 文件系统间的文件复制
 hdfs dfs -cp [-f] URI [URI ...] <dest>
  1. 统计目录下的文件及大小
 hdfs dfs -du [-s] [-h] URI [URI ...]
  1. 汇总目录下的文件总大小
hdfs dfs -dus <args>
  1. 清空回收站,文件被删除时,它首先会移到临时目录.Trash/中,当超过延迟时间之后,文件才会被永久删除
 hdfs dfs -expunge
  1. 下载文件到本地
hdfs dfs -get [-ignorecrc] [-crc] <src> <localdst>
  1. 查看ACL (访问权限组拥有者)
hdfs dfs -getfacl [-R] <path>
  1. 合并下载文件到本地
 hdfs dfs -getmerge <src> <localdst> [addnl]
  1. 查看目录
hdfs dfs -ls <args>
  1. 循环列出目录、子目录及文件信息
hdfs dfs -lsr <args>
  1. 创建空白文件夹
hdfs dfs -mkdir [-p] <paths>
  1. 剪切文件到hdfs
dfs -moveFromLocal <localsrc> <dst>
  1. 剪切文件到本地
hdfs dfs -moveToLocal [-crc] <src> <dst>
  1. 剪切hdfs文件
hdfs dfs -mv URI [URI ...] <dest>
  1. 上传文件
hdfs dfs -put <localsrc> ... <dst>
  1. 删除文件/空白文件夹
hdfs dfs -rm [-skipTrash] URI [URI ...]
  1. 递归删除 删除文件及文件夹下的所有文件
hdfs dfs -rmr [-skipTrash] URI [URI ...]
hdfs dfs -setfacl [-R] [-b|-k -m|-x <acl_spec> <path>]|[--set <acl_spec> <path>]

Sets Access Control Lists (ACLs) of files and directories.

Options:

-b: Remove all but the base ACL entries. The entries for user, group and others are retained for compatibility with permission bits.

-k: Remove the default ACL.

-R: Apply operations to all files and directories recursively.

-m: Modify ACL. New entries are added to the ACL, and existing entries are retained.

-x: Remove specified ACL entries. Other ACL entries are retained.

–set: Fully replace the ACL, discarding all existing entries. The acl_spec must include entries for user, group, and others for compatibility with permission bits.

acl_spec: Comma separated list of ACL entries.

path: File or directory to modify.

Examples:

hdfs dfs -setfacl -m user:hadoop:rw- /file
hdfs dfs -setfacl -x user:hadoop /file
hdfs dfs -setfacl -b /file
hdfs dfs -setfacl -k /dir
hdfs dfs -setfacl --set user::rw-,user:hadoop:rw-,group::r--,other::r-- /file
hdfs dfs -setfacl -R -m user:hadoop:r-x /dir
hdfs dfs -setfacl -m default:user:hadoop:r-x /dir

Exit Code:

Returns 0 on success and non-zero on error.

  1. 修改副本数
hdfs dfs -setrep [-R] [-w] <numReplicas> <path>
  1. 显示文件统计信息
hdfs dfs -stat URI [URI ...]
  1. 查看文件尾部信息
hdfs dfs -tail [-f] URI
hdfs dfs -test -[ezd] URI

对PATH进行如下类型的检查:

-e PATH是否存在,如果PATH存在,返回0,否则返回1

-z 文件是否为空,如果长度为0,返回0,否则返回1

-d 是否为目录,如果PATH为目录,返回0,否则返回1

  1. 查看文件内容
hdfs dfs -text <src>
  1. 创建长度为0的空文件
hdfs dfs -touchz URI [URI ...]

总而言之,hadoop使用命令跟linux的命令是很相似的。

hadoop笔记之hdfs shell操作的更多相关文章

  1. HDFS shell操作及HDFS Java API编程

    HDFS shell操作及HDFS Java API编程 1.熟悉Hadoop文件结构. 2.进行HDFS shell操作. 3.掌握通过Hadoop Java API对HDFS操作. 4.了解Had ...

  2. HBase学习笔记——配置及Shell操作

    1.HBase的配置 还是以前配置的集群,见:http://www.cnblogs.com/DarrenChan/p/6493373.html 我们约定:weekend03和weekend04放HMa ...

  3. hadoop学习二:hadoop基本架构与shell操作

    1.hadoop1.0与hadoop2.0的区别:

  4. hadoop笔记之hdfs

    1.HDFS设计基础与目标 1.HDFS设计基础与目标 (1)硬件错误是常态,因此需要冗余. (2)流式数据访问.即数据批量读取而非随机读写,Hadoop擅长做的是数据分析而不是事务处理. (3)大规 ...

  5. 大数据Hadoop——HDFS Shell操作

    一.查询目录下的文件 1.查询根目录下的文件 Hadoop fs -ls / 2.查询文件夹下的文件 Hadoop fs -ls /input 二.创建文件夹 hadoop fs -mkdir /文件 ...

  6. 对Hadoop分布式文件系统HDFS的操作实践

    原文地址:https://dblab.xmu.edu.cn/blog/290-2/ Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)是Hadoop核 ...

  7. Hadoop读书笔记(二)HDFS的shell操作

    Hadoop读书笔记(一)Hadoop介绍:http://blog.csdn.net/caicongyang/article/details/39898629 1.shell操作 1.1全部的HDFS ...

  8. 吴裕雄--天生自然HADOOP操作实验学习笔记:hdfs简单的shell命令

    实验目的 了解bin/hadoop脚本的原理 学会使用fs shell脚本进行基本操作 学习使用hadoop shell进行简单的统计计算 实验原理 1.hadoop的shell脚本 当hadoop集 ...

  9. HDFS的基本shell操作,hadoop fs操作命令

    (1)分布式文件系统 随着数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管 ...

随机推荐

  1. inline函数

    C语言中的inline函数并不是单纯的用函数块内容来替换,也可能存在局部变量啥的.另外,使用inline定义的函数只是建议编译器作为内联函数处理,但并不一定真会这样处理.inline一般直接在头文件中 ...

  2. < meta > 元素(转)

    < meta > 元素 概要 标签提供关于HTML文档的元数据.元数据不会显示在页面上,但是对于机器是可读的.它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 we ...

  3. 通过WebService跨平台上传大文件到服务器

    好长时间没写博客了,对最近工作中遇到的大文件上传和下载的代码贴出来和大家分享一下. 大文件的上传的和下载是C++的平台通过调用WebService实现文件上传和下载到服务器 /// <summa ...

  4. Java内部类总结

    内部类是一种编译器现象,与虚拟机无关.编译器将会把内部类翻译成用美元符号$分隔外部类名与内部类名的常规类文件,而虚拟机对此一无所知.编译器为了引用外部类,生成了一个附加的实例域this$0 为什么要用 ...

  5. Servlet 浅谈(三)

    关于Session 关于http协议后面会有一系列文章专门介绍.这里就大概了解一下:首先需要知道一点:HTTP是无状态的. 什么是无状态呢? 客户与服务器建立连接.发出请求.得到响应.关闭连接.整个流 ...

  6. php redis数据库操作类

    <?php namespace iphp\db; use iphp\App; /** * redis操作类 * 说明,任何为false的串,存在redis中都是空串. * 只有在key不存在时, ...

  7. Python urllib和urllib2模块学习(三)

    build_opener()详解: 1.urllib2.urlopen()函数不支持验证.cookie或者其它HTTP高级功能,要支持这些功能,必须使用build_opener()函数创建自定这句话的 ...

  8. python----面向对象:1类的定义

    1.python中定义类的格式如下: class className(baseClassName): def functionName(argslist): 2.定义一个person类:它有一个Nam ...

  9. 银行卡检测中心BCTC

    BCTC是Banking Card Test Center的缩写. 银行卡检测中心(下称中心)经中国人民银行总行批准成立于1998年4月,作为一个独立的第三方专业技术检测机构,其主要职责是按照国际.国 ...

  10. iOS多线程总结(一)NSThread

    多线程,简而言之,就是提供代码的多个执行路径,对于App性能和用户体验都有着至关重要的意义.在iOS开发中,Apple提供了不同的技术支持多线程编程,主要有NSThread.NSOperationQu ...