hadoop MapReduce初試遇到的問題java
./hadoop jar ./MapReduce-jar-with-dependencies.jar com.hc360.mp.WordCountHbaseReader /user/hbase/tabelname01 tablenamelinux
在hadoop集羣上執行 MapReduce任務時,須要用到許多依賴jar,通常狀況下都是在執行時,在執行命令上進行配置指定,這樣會形成執行命令太長,而且容易出錯,有時還想帶幾個參數信息,這樣更容易出錯;shell
比較好的處理方法是,在生成運行jar時,將須要的依賴jar打包到運行jar中,這樣在執行時全部依賴的jar都有了,就不用指定了。ide
./hdfs dfs -rmr /user/hbase/oop
hdfs上已有的文件不能進行覆蓋,生成文件時必須是沒有的新文件,能夠在產生文件前執行以上命令清除已有的文件:spa
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).net
hadoop集羣上,若是沒有啓動 yarn(MapReduce),當運行MapReduce任務時,會提示上面的信息; server
當執行hadoop的shell命令時,若是提示相似上面的信息,能夠查看是否啓動了hadoop進程。進程
java.lang.IllegalArgumentException: Does not contain a valid host:port authority:ip
java.net.UnknownHostException
hadoop集羣的hostname配置,主機名不要包含下劃線「_」,但能夠有橫線「-」。
在hadoop集羣中每一個機器都要配置集羣全部機器的hostname域名,以便相互訪問。
這裏分享一個血的教訓,在給hostname起名字的時候必定要注意,雖然linux支持一些特殊字符,但java裏面並不支持,因此hostname的命名必定要使用數字和字母(以點號分隔)。若是起的hostname包含了特殊字符下劃線,致使hadoop運行時候的reduce階段出錯。