Hadoop fs和常规Unix命令之间有什么区别?

时间:2019-03-14 00:12:22

标签: hadoop hdfs

我是Hadoop和HDFS的新手,我试图了解为什么需要Hadoop fs命令,而不是仅使用Unix命令等效项。它们似乎都可以工作,我首先想到的是Hadoop命令直接与HDFS namenode接口,并将其传播到所有节点。但是,当我仅使用Unix shell命令时,情况似乎就是这样。我倒在互联网上,却找不到简单的解释。非常感谢您的帮助。或指向差异解释的链接。

3 个答案:

答案 0 :(得分:1)

感谢评论者TK421,它使我认为这是在NFS之上,并且它也不是直接的HDFS,它是MAPR的实现方式,因此有所不同,我从mapr中找到了一些说明文档。

  

您还可以设置文件或文件的读取,写入和执行权限。   当使用标准UNIX命令的用户和组的目录时,   卷已通过NFS或使用标准hadoop fs挂载   命令。

https://mapr.com/docs/52/MapROverview/c_volumes.html

答案 1 :(得分:0)

文件系统(FS)外壳程序包括各种类似于外壳程序的命令,这些命令可直接与Hadoop分布式文件系统(HDFS)以及Hadoop支持的其他文件系统(例如本地FS,HFTP FS,S3 FS和其他。 FS Shell通过以下方式调用:

bin/hadoop fs <args>

所有FS Shell命令都将路径URI作为参数。 URI格式为scheme:// authority / path。对于HDFS,方案为hdfs,对于本地FS,方案为file。方案和权限是可选的。如果未指定,则使用配置中指定的默认方案。 HDFS文件或目录(例如/ parent / child)可以指定为

  

hdfs:// namenodehost / parent / child

或简称为

  

/父母/子女

(假设您的配置设置为指向hdfs:// namenodehost)。

FS Shell中的大多数命令的行为类似于相应的Unix命令

您可能找不到一些常规的shell命令,例如-head,但是-tail和-cat可用。相同命令中的细微差别可能是found for individual commands here

答案 2 :(得分:0)

如果您在基于NFS的HDFS上运行,则可以期望大多数简单命令都能正常工作(例如lscdmkdirmv,{ {1}},rmchmodchgrp)。对chownhadoop fs命令的唯一需要是,如果您使用扩展的ACL或想要执行其他特定于Hadoop的事情,例如:

  • 更改复制因子hdfs dfs
  • 删除/ user / USERNAME /下的文件。回收站hadoop fs -setrep