我是Hadoop和HDFS的新手,我试图了解为什么需要Hadoop fs命令,而不是仅使用Unix命令等效项。它们似乎都可以工作,我首先想到的是Hadoop命令直接与HDFS namenode接口,并将其传播到所有节点。但是,当我仅使用Unix shell命令时,情况似乎就是这样。我倒在互联网上,却找不到简单的解释。非常感谢您的帮助。或指向差异解释的链接。
答案 0 :(得分:1)
感谢评论者TK421,它使我认为这是在NFS之上,并且它也不是直接的HDFS,它是MAPR的实现方式,因此有所不同,我从mapr中找到了一些说明文档。
您还可以设置文件或文件的读取,写入和执行权限。 当使用标准UNIX命令的用户和组的目录时, 卷已通过NFS或使用标准hadoop fs挂载 命令。
答案 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上运行,则可以期望大多数简单命令都能正常工作(例如ls
,cd
,mkdir
,mv
,{ {1}},rm
,chmod
,chgrp
)。对chown
或hadoop fs
命令的唯一需要是,如果您使用扩展的ACL或想要执行其他特定于Hadoop的事情,例如:
hdfs dfs
hadoop fs -setrep