需要关于Hadoop文件系统的说明吗

需要关于Hadoop文件系统的说明吗,hadoop,Hadoop,对于以下命令 hadoop fs -put foo.txt bar.txt 操作成功后,bar.txt将位于我的本地硬盘中的何处 单节点设置 伪分布式设置 bar.txt是否仍会被复制3次以进行备份?bar.txt将作为 /user/根据以下代码 @Override public Path getHomeDirectory() { return makeQualified(new Path("/user/" + dfs.ugi.getShortUserName())); } 来源 如

对于以下命令

hadoop fs -put foo.txt bar.txt
操作成功后,bar.txt将位于我的本地硬盘中的何处

  • 单节点设置
  • 伪分布式设置

  • bar.txt是否仍会被复制3次以进行备份?

    bar.txt
    将作为
    /user/
    根据以下代码

    @Override
    public Path getHomeDirectory() {
      return makeQualified(new Path("/user/" + dfs.ugi.getShortUserName()));
    }  
    
    来源

  • 如果集群是单节点的,则即使将dfs.replication设置为3,它也只复制一次,因为Hadoop不会在同一节点上多次保存同一块
  • 伪分布式模式将使所有hadoop守护进程在同一台机器上运行。它只是单节点集群。
    如果您将dfs.replication设置为3,Hadoop只会给出警告
    希望有帮助

    bar.txt
    将作为
    /user/
    根据以下代码

    @Override
    public Path getHomeDirectory() {
      return makeQualified(new Path("/user/" + dfs.ugi.getShortUserName()));
    }  
    
    来源

  • 如果集群是单节点的,则即使将dfs.replication设置为3,它也只复制一次,因为Hadoop不会在同一节点上多次保存同一块
  • 伪分布式模式将使所有hadoop守护进程在同一台机器上运行。它只是单节点集群。
    如果您将dfs.replication设置为3,Hadoop只会给出警告
    希望有帮助

    bar.txt
    将作为
    /user/
    根据以下代码

    @Override
    public Path getHomeDirectory() {
      return makeQualified(new Path("/user/" + dfs.ugi.getShortUserName()));
    }  
    
    来源

  • 如果集群是单节点的,则即使将dfs.replication设置为3,它也只复制一次,因为Hadoop不会在同一节点上多次保存同一块
  • 伪分布式模式将使所有hadoop守护进程在同一台机器上运行。它只是单节点集群。
    如果您将dfs.replication设置为3,Hadoop只会给出警告
    希望有帮助

    bar.txt
    将作为
    /user/
    根据以下代码

    @Override
    public Path getHomeDirectory() {
      return makeQualified(new Path("/user/" + dfs.ugi.getShortUserName()));
    }  
    
    来源

  • 如果集群是单节点的,则即使将dfs.replication设置为3,它也只复制一次,因为Hadoop不会在同一节点上多次保存同一块
  • 伪分布式模式将使所有hadoop守护进程在同一台机器上运行。它只是单节点集群。
    如果您将dfs.replication设置为3,Hadoop只会给出警告
    希望有帮助

    上面的fs命令尝试将foo.txt文件作为bar.txt放入当前hdfs中。hdfs的路径由操作正在执行的当前用户确定。这是因为您没有提供到目的地的绝对路径

    如果在hdfs中配置了/user作为主目录,它将采用/user/路径并将文件放置在那里

    此外,如果hdfs中没有与当前用户对应的文件夹,则会失败,说明文件不存在

    e、 g.当前运行的用户是“testusr1”。上面的命令将文件放在“/users/testusr1”下

    您可以通过执行命令#hadoop fs-ls/user来验证这一点/

    AFAIK这对于伪节点或单节点设置应该是相同的

    [root@sandbox ~]# hadoop fs -ls /user
    Found 11 items
    drwx------   - root      hdfs           0 2015-04-13 03:59 /user/root
    .
    .
    .
    .
    .
    drwxr-xr-x   - root      hdfs           0 2015-04-13 04:18 /user/testusr1
    [root@sandbox ~]#
    [root@sandbox ~]# su - testusr1
    [testusr1@sandbox ~]$ whoami
    testusr1
    [testusr1@sandbox ~]$ pwd
    /home/testusr1
    [testusr1@sandbox ~]$ ll
    total 7
    -rw-rw-r-- 1 testusr1 testusr1 49 2015-04-13 04:17 foo-testusr2.txt
    [testusr1@sandbox ~]$ hadoop fs -put foo-testusr2.txt bar-testusr2.txt
    
    对于复制因素,您可以在基本hadoop fs-ls命令的帮助下进行检查

    [testusr1@sandbox ~]$exit
    logout
    [root@sandbox ~]# hdfs dfs -ls /user/testusr1
    Found 1 items
    -rw-r--r--   1 testusr1 hdfs         49 2015-04-13 04:18 /user/testusr1/bar-testusr2.txt
    [root@sandbox ~]#
    

    在上面的示例输出中,您可以看到文件权限后面的数字1。它反映为1,并且符合我的hdfs配置。

    上面的fs命令尝试将文件foo.txt作为bar.txt放在当前hdfs中。hdfs的路径由操作正在执行的当前用户确定。这是因为您没有提供到目的地的绝对路径

    如果在hdfs中配置了/user作为主目录,它将采用/user/路径并将文件放置在那里

    此外,如果hdfs中没有与当前用户对应的文件夹,则会失败,说明文件不存在

    e、 g.当前运行的用户是“testusr1”。上面的命令将文件放在“/users/testusr1”下

    您可以通过执行命令#hadoop fs-ls/user来验证这一点/

    AFAIK这对于伪节点或单节点设置应该是相同的

    [root@sandbox ~]# hadoop fs -ls /user
    Found 11 items
    drwx------   - root      hdfs           0 2015-04-13 03:59 /user/root
    .
    .
    .
    .
    .
    drwxr-xr-x   - root      hdfs           0 2015-04-13 04:18 /user/testusr1
    [root@sandbox ~]#
    [root@sandbox ~]# su - testusr1
    [testusr1@sandbox ~]$ whoami
    testusr1
    [testusr1@sandbox ~]$ pwd
    /home/testusr1
    [testusr1@sandbox ~]$ ll
    total 7
    -rw-rw-r-- 1 testusr1 testusr1 49 2015-04-13 04:17 foo-testusr2.txt
    [testusr1@sandbox ~]$ hadoop fs -put foo-testusr2.txt bar-testusr2.txt
    
    对于复制因素,您可以在基本hadoop fs-ls命令的帮助下进行检查

    [testusr1@sandbox ~]$exit
    logout
    [root@sandbox ~]# hdfs dfs -ls /user/testusr1
    Found 1 items
    -rw-r--r--   1 testusr1 hdfs         49 2015-04-13 04:18 /user/testusr1/bar-testusr2.txt
    [root@sandbox ~]#
    

    在上面的示例输出中,您可以看到文件权限后面的数字1。它反映为1,并且符合我的hdfs配置。

    上面的fs命令尝试将文件foo.txt作为bar.txt放在当前hdfs中。hdfs的路径由操作正在执行的当前用户确定。这是因为您没有提供到目的地的绝对路径

    如果在hdfs中配置了/user作为主目录,它将采用/user/路径并将文件放置在那里

    此外,如果hdfs中没有与当前用户对应的文件夹,则会失败,说明文件不存在

    e、 g.当前运行的用户是“testusr1”。上面的命令将文件放在“/users/testusr1”下

    您可以通过执行命令#hadoop fs-ls/user来验证这一点/

    AFAIK这对于伪节点或单节点设置应该是相同的

    [root@sandbox ~]# hadoop fs -ls /user
    Found 11 items
    drwx------   - root      hdfs           0 2015-04-13 03:59 /user/root
    .
    .
    .
    .
    .
    drwxr-xr-x   - root      hdfs           0 2015-04-13 04:18 /user/testusr1
    [root@sandbox ~]#
    [root@sandbox ~]# su - testusr1
    [testusr1@sandbox ~]$ whoami
    testusr1
    [testusr1@sandbox ~]$ pwd
    /home/testusr1
    [testusr1@sandbox ~]$ ll
    total 7
    -rw-rw-r-- 1 testusr1 testusr1 49 2015-04-13 04:17 foo-testusr2.txt
    [testusr1@sandbox ~]$ hadoop fs -put foo-testusr2.txt bar-testusr2.txt
    
    对于复制因素,您可以在基本hadoop fs-ls命令的帮助下进行检查

    [testusr1@sandbox ~]$exit
    logout
    [root@sandbox ~]# hdfs dfs -ls /user/testusr1
    Found 1 items
    -rw-r--r--   1 testusr1 hdfs         49 2015-04-13 04:18 /user/testusr1/bar-testusr2.txt
    [root@sandbox ~]#
    

    在上面的示例输出中,您可以看到文件权限后面的数字1。它反映为1,并且符合我的hdfs配置。

    上面的fs命令尝试将文件foo.txt作为bar.txt放在当前hdfs中。hdfs的路径由操作正在执行的当前用户确定。这是因为您没有提供到目的地的绝对路径

    如果配置了/user作为主目录