Hadoop - `hdfs dfs -ls`与ls

时间:2018-03-06 05:26:51

标签: hadoop filesystems

我使用ssh连接到工作中的Hadoop集群。 似乎有两种不同的文件系统可供使用:
  - 一个本地(虽然它是因为我对这台机器进行了远程控制)。我可以使用cd ..导航文件系统,并使用ls在其中显示文件。我也可以在这里安装一些程序   - 一个非本地使用hadoop命令(hdfs dfs ...

我不明白这两个文件系统是如何协同工作的? hadoop集群的主节点的本地类型是否可以从中执行配置单元?

2 个答案:

答案 0 :(得分:1)

  

:我可以执行配置单元的hadoop集群的主节点的本地类型吗?

由于Hive与Hadoop和HDFS完全分开安装,所以HIve似乎与提出的问题无关。无论您访问哪台计算机都需要Hive客户端才能工作,并且没有hive的“主节点”(尽管应该使用beeline)cli需要运行。对于大多数用户来说,HiveServer的JDBC驱动程序比终端会话更有用。或者说服贵公司安装Hue作为Hadoop&的Web UI。蜂巢访问。

如果您浏览Hadoop / Hive安装页面并且可以收集服务器和端口的正确网络信息以建立与Hadoop环境的远程连接,则您不一定需要通过SSH连接到任何服务器以访问任何内容,但是从安全角度来看,公司可能不会那样。此时,本地计算机的配置方式与调用它们的“跳转框”或“边缘节点”完全相同。

  

一个本地(虽然它因为我正在使用这台机器而遥控)

烨。不是Hadoop文件系统。您SSH的所有计算机都有本地硬盘驱动器。在将它们复制到HDFS之前,您需要SFTP / SCP文件。

  

一个不是本地使用hadoop命令(hdfs dfs ...)我不明白这两个文件系统是如何协同工作的?

如果您已经通过SSH连接到数据节点,Hadoop仍会将数据存储在本地文件系统中,但是,它不是整个文件,而是将它们分开称为块。 Hadoop使用许多机器和磁盘来创建分布式文件系统抽象,因此称为HDFS。

如果您的公司使用NAS或FTP文件服务器,这是一个类似的概念。您也可以使用正确的权限通过SSH连接到其中一个,但是,在其本地磁盘上有一个专用位置,用于提供文件。

答案 1 :(得分:0)

hdfs dfs..在您的Hadoop群集托管的分布式文件系统上执行命令。

它与您使用的服务器的本地文件系统完全无关(可以是任何具有Hadoop客户端库的服务器)。其实你甚至不需要ssh。您可以使用REST API https://hadoop.apache.org/docs/r1.0.4/webhdfs.html#OPEN

从桌面访问HDFS文件

您是指Hive客户端(请参阅此处https://cwiki.apache.org/confluence/display/Hive/HiveServer2+Clients#HiveServer2Clients-Beeline%E2%80%93NewCommandLineShell)或Hive Server中的所有选项?