最近實驗室又要搞大數據的項目了,因此咱們搭了個hadoop平臺,順便用來熟悉一下能夠並行化處理數據的算法包——mahout。java
hadoop安裝和測試以及使用,這些網上的教程層出不窮,建議買些書過來讀一讀,受益良多,進步也快。初學者的話,推薦看《Hadoop權威指南》,此外有條件的能夠先去圖書館試着讀一讀,若是感受能夠的話,能夠買一本~mahout的話,初學者推薦看《Mahout實踐指南》,感受對作工程的人,挺好的,算法部分講得不是很詳細,也不是很深,但對於如何應用這些算法包,這本書講得很細緻入微。算法
下面開始記錄咱們hadoop平臺會遇到的一些常見異常或者錯誤。PS.持續更新中...dom
咱們都知道,當hadoop除了什麼錯誤,或者異常的話,咱們最好去看日誌,就是$HADOOP_HOME/logs/xxxx.log下面看看是哪裏除了問題,下面就是咱們截取的一些出問題的日誌,並附上咱們的解決方法:oop
1. java.net.UnknownHostException: localhost.localdomain: localhost.localdomain測試
咱們看這個異常提示說是,UnknownHostException,也就是說,是咱們的系統配置裏面的hostname除了問題,因爲剛開始搭建hadoop的時候,咱們默認的設置爲localhost,而沒有那個後綴.localdomain,因此咱們須要改下系統的hostname,把localhost.localdomain 改成localhost就能夠了。大數據
解決方法:命令行輸入 vi /etc/sysconfig/network 把 hostname 改爲localhost(若是你的hadoop本身配置過主機名,請使用你本身配置的那個主機名),.net
而後命令行輸入 vi /ect/hosts 設置127.0.0.1 localhost localhost.localdomain 改成 127.0.0.1 localhost命令行
最後命令行輸入 hostname localhost就能夠解決日誌
其實更改主機名的方法有不少,這裏只是列舉了其中的一種,越是底層的方法,越是有效。教程
2.job 一直在處於 running中,中止了響應
這個問題依然是 hostname的問題,咱們打開另外一個終端,輸入hostname 你的主機名 就能夠改正過來了