`
BlackWing
  • 浏览: 196359 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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会启动失败,正常启动则说明加载成功,比较保险。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics