Hadoop 2.4.1 設置問題小結【原創】

先丟點問題小結到這裏,省得忘記,有空再弄個詳細教程玩,網上的教程要不就是舊版的,要不就是沒說到點子上,隨便搞搞也能碰上結果是對的時候,可是知其然而不知其因此然,沒意思啊。解決問題的方法有不少種,總得找到比較合適的方法才行的。java

1.服務器禁用ipV6配置.node

2.Could not locate executable null\bin\winutils.exe in the Hadoop binariesubuntu

首先,有個exe,要去下載。其次,注意到提示的路徑前面的null,路徑沒有。。。系統變量設置了HADOOP_HOME也不行,程序中直接設定環境變量,還能省去系統配置,更方便。這玩意應該只有windows系統會要了,exe嘛。。。windows

System.setProperty("hadoop.home.dir","xxxxxxxxx");

3.鏈接不上服務器的hdfs端口安全

查看/etc/hosts中,主機名是否綁定到127.0.0.1或127.0.1.1,這樣會有問題,ubuntu中這是主要緣由,hosts中主機名要綁定IP。
slaves中去掉localhost,加上全部服務器的主機名,一行一個,/etc/hosts中綁定其它服務器的主機名和對應的IP。服務器

只有一臺機器的話,也是直接放主機名,localhost本就是和127.0.0.1綁定的,這就會有前面的綁定ip問題了。就算能夠,複製文件到從服務器的時候,仍是要改配置的,麻煩。所有用主機名,配置也不用改,hosts綁定都能直接複製。oop

有的教程中,xml中是用IP的,可是我的認爲用主機名好,而後在hosts中綁定一下。用IP的話,服務器的IP一換,要改的地方就多了,用主機名時只要改改hosts就行了。spa

綜上所述,爲了不亂七八糟的問題,不要用127.0.0.1,不要用localhost,不要用IP,用主機名加hosts配置,省事還不容易出錯。code

slaves中的配置是datanode起來的關鍵,列出的機器,纔會有datanode服務。xml

4.windows鏈接上hdfs服務器後,安全模式關閉後,java程序可讀取可是不能寫操做,這是由於默認是用當前用戶名去通訊的,關閉權限校驗?或去改當前用戶名?麻煩,直接一行代碼搞定!

System.setProperty("HADOOP_USER_NAME","xxxxxxxx");

 固然,安全模式開啓了的話,確定是不能寫的了。

查看安全模式狀態

hadoop dfsadmin -safemode get
相關文章
相關標籤/搜索