2017-06-04 81 views
1

注:我已經閱讀有關此方案計算器所有早期職位,但無法找到任何有用的放文件的Hadoop環境

我學習haddop並同時玩弄面臨一些stucks。

1)連接後的Hadoop當我檢查PWD,它showes /家/ hduser。所以這意味着我在hduser目錄中,這也是我的用戶以及hadoop環境。當我使用下面的命令創建一個dir時,dir被創建。

hadoop fs -mkdir /user/ 

我的問題是,爲什麼我不能看到下路徑爲/ home/hduser該目錄(用戶)的終端,但是,http://localhost:50070/explorer.html#/user

2)在我的根2存在,一種是Jon和第二個是hduser。 有,我已經在用戶喬恩在位置/首頁/喬恩創建一個文件,我想把這個文件放到hduser /用戶目錄下。 當我把他的文件中使用以下命令

hadoop fs -put /home/Jon/test.txt /user 

獲得類似這樣的錯誤

17/06/04 21:33:26 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
put: `/home/Jon/test.txt': No such file or directory 

注:我在visudo命令文件中給出的權限以及從根這樣

Jon ALL(ALL:ALL) ALL 
hduser ALL(ALL:ALL) ALL 

但我仍然無法做到從本地到人力資源。當我在hadoop環境下在dir/home/hduser下創建一個文件時,我可以很容易地將文件從那裏複製到/ user目錄

任何人都可以幫助我解決這些問題......?

回答

0

我的問題是,爲什麼我不能看到下路徑爲/ home/hduser該目錄(用戶)的終端,但是,http://localhost:50070/explorer.html#/user

HDFSlinux file system是管理文件和目錄的兩種不同的方式。 HDFS需求namenodedatanode地活着查看存儲在HDFS的文件。 Namenode存儲在datanode中存儲的所有數據的元數據。它們存儲在本地文件系統中,但格式不同,HDFS只能讀取它。

/user是不完全的本地路徑,但HDFS的路徑(HDFS虛擬文件系統)。

獲得類似這樣的錯誤 17/06/04 21時33分26秒WARN util.NativeCodeLoader:無法加載原生的Hadoop庫平臺...使用內置的Java類適用 放:`/home/Jon/test.txt':沒有這樣的文件或目錄

當一個文件不在本地文件系統中存在,會顯示一般上面的錯誤。我自己嘗試過,沒有任何錯誤。它真的很奇怪,它不適合你

你可以做的是試着看看文件是否真的存在。如果它再嘗試

$HADOOP_HOME/bin/hadoop fs -put /home/Jon/test.txt /user 

如果仍然不工作,然後嘗試改變HDFS/user

hadoop fs -chmod 777 /user 
+0

感謝的文件權限您的答覆,現將其多大清除doiubut和我能夠移動文件以及。其次,我已經在我的系統上安裝了haddop,來自這個網站http://www.bogotobogo.com/Hadoop/BigData_hadoop_Install_on_ubuntu_single_node_cluster.php ..所有的dir結構都是一樣的。請告訴我在哪裏可以看到dir/user當namenode和datanodes啓動時終端。我同意只有HDFS才能讀取它們,但它們必須位於其他格式,比如二進制文件... !! – LearnJava

+0

如果'namenode'和'datanode'都啓動了,你可以通過'hadoop fs -ls/user'來查看來自終端的hadoop文件。所有這些都是linux命令,但是使用hadoop –