他们应该是平等的吗?

但是,为什么"hadoop fs命令显示hdfs files而"hdfs dfs命令显示本地文件?

这是Hadoop版本的信息:

Hadoop 2.0.0-mr1-cdh4.2.1 Subversion git://ubuntu-slave07.jenkins.cloudera.com/var/lib/jenkins/workspace/CDH4.2.1-Packaging-MR1/build/cdh4/mr1/2.0.0

答案

以下是三个命令,它们看起来相同,但有微小的差异

  1. hadoop fs {args}
  2. hadoop dfs {args}
  3. hdfs dfs {args}

  hadoop fs <args>

FS与一个通用文件系统有关,该系统可以指向任何文件系统,例如本地,HDFS等


  hadoop dfs <args>

DFS非常适合HDFS。将用于操作的工作与HDFS有关。这已被弃用,我们应该使用hdfs dfs反而。


  hdfs dfs <args>

与第二个同样的工作将用于与HDF相关的所有操作hadoop dfs

以下是列为hdfs命令。

  namenode|secondarynamenode|datanode|dfs|dfsadmin|fsck|balancer|fetchdt|oiv|dfsgroups

因此,即使您使用hadoop dfs ,它将看起来找到HDFS并委派该命令hdfs dfs

来自: stackoverflow.com