版本:自己编译的hbase-1.2.0-cdh5.14.0
默认情况下,Hbase不开启snappy压缩 , 所以在hbase的lib/native目录下什么也没有(我的前提是执行hadoop checknative可以看到hadoop是支持snappy的)
第一步:
需要将snappy-java-1.0.4.1.jar放在hbase的native目录下:
可以去hadoop下拷贝过去:
cp /opt/cdh/hadoop-2.6.0-cdh5.14.0/share/hadoop/tools/lib/snappy-java-1.0.4.1.jar /opt/cdh/hbase-1.2.0-cdh5.14.0/lib/native
第二步:在hbase的native目录下创建Linux-amd64-64目录
mkdir Linux-amd64-64
第三步:将hadoop的lib/native中的文件拷贝到Hbase的Linux-amd64-64
cp /opt/cdh/hadoop-2.6.0-cdh5.14.0/lib/native/ /opt/cdh/hbase-1.2.0-cdh5.14.0/lib/native/Linux-amd64-64
第四步:在hbase-env.sh中指定library地址:
export HBASE_LIBRARY_PATH=/opt/cdh/hbase-1.2.0-cdh5.14.0/lib/native/Linux-amd64-64
第五步:在hbase-site.xml中指定开启snappy压缩:
<property> <name>hbase.regionserver.codecs</name> <value>snappy</value> </property>
重启Hbase,搞定!