2014-02-24 120 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 **更短) –

相關問題