2014-02-24 118 views
2

我是学习hdfs的新手,并且在centos box上设置了单节点hadoop(版本2.2.0)。hadoop fs -lsr hdfs:// localhost:9000不能正常工作

后启动所有命令我试图运行一些hdfs命令,但下面提到的是行不通的。

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

而该命令正在

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

这是我的核心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> 

telnet与localhost 9000正在工作,而telnet与x.x.x.x 9000也不能正常工作。

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

回答

5

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

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

我也建议你在你的配置文件只能使用主机的完全合格的名称。简单地说,不要使用localhost。

+0

谢谢。这工作。我使用hadoop mkdir命令创建了一个使用fs -ls命令的目录,但copyFromLocal不显示带有-lsr选项的文件。有什么想法吗? – user2775185

+0

很难说,但请检查路径。如果你创建一个这样的目录**'/ somedir'**它将在根目录**'/'**中创建,但是如果你用**'somedir'**创建它,那么它将被创建你的HDFS主目录:**'/ home/your_user/somedir'**。 ** - ls **和** - copyFromLocal **也是如此(顺便说一下** - put **更短) –

相关问题