本地文件系统是什么意思?'

时间:2017-03-22 06:35:03

标签: hadoop hadoop2

我目前正在阅读有关hadoop的内容,而且我遇到了令我困惑的事情(请记住,当涉及到hadoop时我是一个完整的新手) -

使用Hadoop get命令将文件从HDFS复制到本地文件 系统:

$ hadoop hdfs dfs -get file_name /user/login_user_name

什么是本地文件系统?据我所知,HDFS将文件分区到整个群集中的不同块(但我知道还有更多的内容)。我对上述命令的理解是我可以将文件从集群复制到我的个人(即本地)计算机上吗?还是完全错了?我不完全确定本地文件系统的含义。

3 个答案:

答案 0 :(得分:0)

LocalFS意味着它可能是您的LinuxFS或WindowsFS。而且这不是DFS的一部分。

您的理解是正确的,使用-get您将从HDFS获取文件到本地FS,并且您不能同时使用hadoophdfs。命令应如下所示

hdfs dfs -get file_name local_pathhadoop fs -get file_name local_path

答案 1 :(得分:0)

根据文件系统逻辑,您可以将文件系统划分为不同的驱动器。以同样的方式,您可以在linux文件系统中创建hadoop文件系统作为单独的文件系统。 在将文件从计算机复制到hadoop时,本地文件系统将是您已安装hadoop.your计算机的文件系统,在这种情况下,本机将充当本地计算机。 你可能想看一下:HDFS vs LFS

答案 2 :(得分:-1)

认为群集节点(服务器)必须满足以下需求:

  1. 需要存储自己的操作系统,应用程序和用户数据相关的文件;和
  2. 需要存储其分片或分发的部分"群集数据文件。
  3. 在每个群集数据节点中,需要有2个独立的文件系统:

    1. LOCAL("非分布式")文件系统:
      • 存储操作系统和所有与操作系统相关的辅助("帮助")文件;
      • 存储构成在服务器上运行的应用程序的二进制文件;
      • 存储其他数据文件,但这些文件作为简单文件存在,不会在服务器"群集数据中分片/复制/分发。磁盘;
      • 通常由许多分区组成 - 单个磁盘或多个磁盘的整个格式化部分;
      • 通常还运行LVM以确保"可扩展性"这些分区包含与OS相关的关键代码,这些代码不能被允许饱和,否则服务器将遭受灾难性(不可恢复的)故障。
      1. DISTRIBUTED文件系统:
        • 只存储实际海量数据文件的分片,复制部分"分发"跨群集中所有其他数据节点的所有其他数据驱动器
        • 通常由至少3个相同的磁盘组成,所有磁盘都是" raw" - 未格式化,没有任何类型的RAID和任何类型的LVM,因为群集软件(安装在"本地"文件系统上)实际上负责其OWN复制和容错,因此RAID和LVM实际上是冗余的,因此在整个集群性能中导致不必要的延迟。
      2. LOCAL< ==>操作系统和应用程序以及特定的数据和用户相关文件或"本地"到特定服务器的操作本身;

        DISTRIBUTED< ==>分片/复制数据;能够由集群中所有服务器的所有资源同时处理。

        文件可以在服务器的LOCAL文件系统中启动,这是一个小小的"凡人" file - unsharded,unplicated,undistributed;如果您要删除这一个副本,该文件已经消失了......

        ...但是,如果您首先将该文件移动到群集的DISTRIBUTED文件系统,那么它将被分片,复制并分布在至少3个不同的驱动器上,这些驱动器可能位于3个不同的服务器上,这些服务器都参与群集,因此,如果要删除其中一个驱动器上的此文件的副本,则群集本身仍将包含同一文件(或分片)的2个MORE副本;在本地系统中,您的小凡人文件只能由一台服务器及其资源(CPU + RAM)处理......

        ...一旦该文件被移动到CLUSTER,现在它被分成至少3个不同服务器上的无数小块(很可能还有很多),并且该文件可以有很少的分片全部由参与集群的所有服务器的所有资源(CPU和RAM)同时处理。

        并且LOCAL文件系统和在每台服务器上运行的DISTRIBUTED文件系统之间存在差异,这是集群计算能力的秘诀:-)!...

        希望这能更清楚地了解这两个常常令人困惑的概念之间的区别!

        - 来自北极光的标记