1. HDFS Shell

1.1 HDFS Shell CLI客户端

  • 命令行界面(英语:command-line interface,缩写:CLI)是指用户通过键盘输入指令,计算机接收到指令后,予以执行一种人际交互方式。
  • Hadoop提供了文件系统的shell命令行客户端,使用方法如下:
    HDFS Shell 命令简介及查询_HDFS 命令简介及查询
  • 跟文件系统读写使用相关的命令是 hdfs dfs [generic options]
    HDFS Shell 命令简介及查询_HDFS Shell CLI_02
    HDFS Shell 命令简介及查询_HDFS Shell CLI_03

1.2 HDFS Shell CLI客户端–说明

  • HDFS Shell CLI支持操作多种文件系统,包括本地文件系统(file:///)、分布式文件系统(hdfs://nn:8020)等
  • 操作的是什么文件系统取决于URL中的前缀协议。
  • 如果没有指定前缀,则将会读取环境变量中的fs.defaultFS属性,以该属性值作为默认文件系统
hdfs dfs -ls file:///  #操作本地文件系统

HDFS Shell 命令简介及查询_HDFS Shell 命令查询_04

hdfs dfs -ls /

HDFS Shell 命令简介及查询_HDFS 命令简介及查询_05

  • 查看文件默认系统
cat /export/servers/hadoop-2.7.4/etc/hadoop/core-site.xml

HDFS Shell 命令简介及查询_HDFS Shell 命令_06

hdfs dfs -ls hdfs://hadoop01:9000/  #操作HDFS分布式文件系统

HDFS Shell 命令简介及查询_HDFS Shell 命令_07

  • 所以 hdfs dfs -ls hdfs://hadoop01:9000/hdfs dfs -ls / 访问的是同一个文件系统。

1.3 总结

HDFS Shell 命令简介及查询_HDFS Shell 命令_08

1.4 hadoop dfs、hdfs dfs、 hadoop fs 三者区别

  1. hadoop dfs 只能操作HDFS文件系统(包括与Local FS间的操作),不过已经Deprecated(已弃用)
  2. hdfs dfs 只能操作HDFS文件系统相关(包括与Local FS间的操作),常用
  3. hadoop fs 可操作任意文件系统,不仅仅是hdfs文件系统,使用范围更广.
  • 目前版本来看,官方最终推荐使用的是hadoop fs。当然hdfs dfs在市面上的使用也比较多。
    HDFS Shell 命令简介及查询_hadoop_09

1.5 HDFS Shell CLI客户端–参数说明

  • HDFS文件系统的操作命令很多和Linux类似,因此学习成本相对较低。
  • 可以通过hadoop fs -help命令来查看每个命令的详细用法。
    HDFS Shell 命令简介及查询_HDFS Shell 命令查询_10

1.6 在Hadoop官网上找到命令