運行一個example
[hadoop@hadoop01 hadoop]$ hadoop jar ./share/hadoop/mapreduce2/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar pi 5 10
運行的過程中報錯
然后去查看jobhistory
發現以下錯誤
Error: java.lang.RuntimeException: native snappy library not available: this version of libhadoop was built without snappy support
錯誤解析:不支持snappy格式的壓縮
解決方法:
解決問題需要編譯好的支持本格式的壓縮的hadoop組件,但是我們的hadoop是從網上下載的,並沒有這種組件,所以這種方法是行不通的。
但是我們可以通過對參數的配置的改變來解決這個問題
首先我們是跑mr報錯,所以考慮配置更改是要考慮mapred-site.xml,打開以后把以下這段紅框里的內容刪掉就可以了
考慮完mr的配置文件,再考慮一下公共的文件配置,core-site.xml文件里邊的配置也要看一下,以下是相關內容,紅框里的內容也需要刪掉
以上步驟都操作完了,再重新啟動集群,重新跑一次,這時候就OK啦!!!開森!!!,
開森完繼續思考一下
為什么要使用這個壓縮格式呢?
因為可以減少map的磁盤io
我們通過hadoop checknative來查看當前我們的hadoop版本支持什么壓縮格式。
可以發現紅框里的幾種壓縮格式都是不支持的。