hadoop MapReduce初試遇到的問題

hadoop MapReduce初試遇到的問題


./hadoop jar ./MapReduce-jar-with-dependencies.jar com.hc360.mp.WordCountHbaseReader /user/hbase/tabelname01 tablename

在hadoop集羣上執行 MapReduce任務時,需要用到許多依賴jar,一般情況下都是在執行時,在執行命令上進行配置指定,這樣會造成執行命令太長,並且容易出錯,有時還想帶幾個參數信息,這樣更容易出錯;

比較好的處理方法是,在生成運行jar時,將需要的依賴jar打包到運行jar中,這樣在執行時所有依賴的jar都有了,就不用指定了。


./hdfs dfs -rmr /user/hbase/

hdfs上已有的文件不能進行覆蓋,生成文件時必須是沒有的新文件,可以在產生文件前執行以上命令清除已有的文件:


16/07/19 18:26:08 INFO ipc.Client: Retrying connect to server: xxxx/192.168.xx.xx:8032. Already tried 4 time(s); retry policy is etryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

hadoop集羣上,如果沒有啓動 yarn(MapReduce),當運行MapReduce任務時,會提示上面的信息; 

當執行hadoop的shell命令時,如果提示類似上面的信息,可以查看是否啓動了hadoop進程。


java.lang.IllegalArgumentException: Does not contain a valid host:port authority:

java.net.UnknownHostException

hadoop集羣的hostname配置,主機名不要包含下劃線“_”,但可以有橫線“-”。

在hadoop集羣中每個機器都要配置集羣所有機器的hostname域名,以便相互訪問。

這裏分享一個血的教訓,在給hostname起名字的時候一定要注意,雖然linux支持一些特殊字符,但java裏面並不支持,所以hostname的命名一定要使用數字和字母(以點號分隔)。如果起的hostname包含了特殊字符下劃線,導致hadoop運行時候的reduce階段出錯。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章