HBase使用SNAPPY壓縮遇到compression test fail問題解決

轉載請標明出處:http://blackwing.iteye.com/blog/1943575


之前爲HBase增加SNAPPY壓縮的一篇文章:http://blackwing.iteye.com/blog/1942037

本以爲這樣hbase就能使用SNAPPY了,但發現RS的log不停報錯:
IOException: Compression algorithm 'snappy' previously failed test


根據官方教程再做一遍:http://hbase.apache.org/book/snappy.compression.html

還是報錯,後來發現差異。服務器安裝的是ubuntu 64位版本,在hadoop的lib/native/下是Linux-amd64-64文件夾,而在HBase的lib/native目錄下默認卻是Linux-i386-32,我就是把hadoop和snappy的native so文件拷貝到Linux-i386-32下。

所以在hbase的lib/natvie下新建Linux-amd64-64,再把hadoop、snappy的so文件拷過來,重啓hbase,再創建表:
create 'snappy',{NAME=>'t',COMPRESSION=>'SNAPPY'}


rs的log正常,跟着寫入數據,flush後,看到已經正常壓縮,rs log無錯誤。到此終於完整了整合snappy。


PS:確保HBASE能正確加載codec,可以在hbase-site.xml中配置:
<property>
<name>hbase.regionserver.codecs</name>
<value>snappy</value>
</property>


這樣設置後,hbase啓動就會檢查,如果不能正確加載,rs會啓動失敗,正常啓動則說明加載成功,比較保險。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章