【问题标题】:hadoop fs -lsr hdfs://localhost:9000 not workinghadoop fs -lsr hdfs://localhost:9000 不工作
【发布时间】:2014-02-24 09:12:33
【问题描述】:

我是学习hdfs的新手,并且在centos box上设置了单节点hadoop(2.2.0版)。

在 start-all 命令之后,我尝试运行一些 hdfs 命令,但下面提到的不起作用。

    bin/hadoop fs -lsr hdfs://localhost:9000/tmp/hadoop-root/dfs/name

当这个命令工作时

    bin/hadoop fs -lsr file:///tmp/hadoop-root/dfs/name

这是我的 core-site.xml 文件

<configuration>
 <property>
         <name>fs.default.name</name>
         <value>hdfs://localhost:9000</value>
     </property>
</configuration>

mapred-site.xml 文件

<configuration>
     <property>
         <name>mapred.job.tracker</name>
         <value>localhost:9001</value>
     </property>
</configuration>

hdfs-site.xml 文件

<configuration>
<property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
</configuration>

使用 localhost 9000 的 telnet 可以正常工作,而使用 x.x.x.x 9000 的 telnet 也不能​​正常工作。

谁能告诉我。我的错在哪里?

【问题讨论】:

    标签: hadoop


    【解决方案1】:

    HDFS 是一个文件系统,所以把它当作一个文件系统使用:

    hadoop fs -ls /
    hadoop fs -ls /some/path/inside/hdfs
    

    我还建议您在配置文件中只使用完全限定的主机名。简单地说,不要使用localhost。

    【讨论】:

    • 谢谢。这行得通。我使用 hadoop mkdir 命令创建了一个目录,该目录正在使用 fs -ls 命令进行显示,但 copyFromLocal 没有向我显示带有 -lsr 选项的文件。有什么想法吗?
    • 很难说,但请检查路径。如果你创建一个像 '/somedir' 这样的目录,它将在根目录 '/' 中创建,但如果你只使用 'somedir' 然后它将在您的 HDFS 主目录中创建:'/home/your_user/somedir'-ls-copyFromLocal 也是如此(顺便说一下 -put 更短)
    猜你喜欢
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 2016-10-28
    • 1970-01-01
    相关资源
    最近更新 更多