Hadoop搭建那些事兒

miffa2008發表於2012-04-18
終於搭建好hadoop啦(試執行wordcount成功)。
具體流程可參考
趁熱記錄下中途碰到的問題:
1、jdk安裝修改/etc/profile錯誤,導致重啟後進不去系統
在linux中安裝jdk需要編輯 /etc/profile 檔案,這個檔案一但被錯誤設定就會導致系統不能登陸,具體症狀為:登陸圖形介面以後會彈出一個對話方塊 “您的回話只持續不到10秒種。。。。。。”,點選確定就又重新引導,但是還是不能順利的登入圖形介面。
對於這個問題可以在命令列模式下把最近對 /etc/profile檔案所作的修改去掉即可,具體操作如下:
* shift+ctrl+alt+F1進入命令列模式
 /etc/profile檔案修改,我本來將新加的配置資訊放在“umask 022”前面,後出現了重啟進不了系統的情況,應把新加的配置資訊放在後面。<wbr>
umask 022
export JAVA_HOME=/home/kerry/jdk1.6.0_31
export JRE_HOME=/home/kerry/jdk1.6.0_31/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
#umask 022

2、ubuntu下修改hostname
直接 hostname newname。但是重啟後失效。
要永久修改,應首先修改 sudo vi /etc/hostname, 然後修改 sudo vi /etc/hosts <wbr>
3、UnknownHostException錯誤
搭建好環境後,執行wordcount,出現如下錯誤:
ERROR security.UserGroupInformation: PriviledgedActionException as:kerry cause:java.net.UnknownHostException: ubuntu: ubuntu<wbr>
java.net.UnknownHostException: ubuntu: ubuntu
之前ssh配置成功後,也是隻能按照ssh ip的方式連線,而ssh localhost,ssh Hadoop-B等失效,host讀取失敗。
這個問題是困擾我最長的,在曹牛的幫助下,發現可能由於編碼問題,我namenode上的hosts檔案失效。
解決:將hosts檔案刪掉,重新寫一份
4、IOException錯誤
修改好hosts,能成功解析後,執行wordcount任務——hadoop jar hadoop-0.20.1-examples.jar wordcount input output,出現如下錯誤:
Exceptioninthread"main" java.io.IOException: Error openingjobjar: hadoop-0.20.2-examples.jar at org.apache.hadoop.util.RunJar.main(RunJar.java:90)
Caused by: java.util.zip.ZipException: error in opening zip file
        at java.util.zip.ZipFile.open(Native Method)<wbr><wbr><wbr><wbr>
        at java.util.zip.ZipFile.(ZipFile.java:114)<wbr><wbr><wbr><wbr>
        at java.util.jar.JarFile.(JarFile.java:135)<wbr><wbr><wbr><wbr>
        at java.util.jar.JarFile.(JarFile.java:72)<wbr><wbr><wbr><wbr>
        at org.apache.hadoop.util.RunJar.main(RunJar.java:88)<wbr><wbr><wbr><wbr>
解決:這種問題一般是路徑對不上,jar檔案要在主機上,不能放到HDFS上
5、ConnectException錯誤
之前問題解決後,重新執行任務,出現如下錯誤:
java.net.ConnectException: Call to Hadoop-A/192.168.29.130:9000 failed on connection exception: java.net.ConnectException: Connection refused
at org.apache.hadoop.ipc.Client.wrapException(Client.java:1095)
at org.apache.hadoop.ipc.Client.call(Client.java:1071)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
at $Proxy1.getProtocolVersion(Unknown Source)
沒有弄的特別明白,可能由於之前重新修改過hosts,破壞了hadoop環境。重新format,啟動hadoop,任務執行正常
<!-- 正文結束 --&gt

相關文章