Compression 如何在现有Hbase表上启用压缩?
我有一个非常大的Hbase表apData,但它在创建时没有设置为压缩。现在是1.5TB。所以我想在这个表上启用压缩功能。我做了以下工作:Compression 如何在现有Hbase表上启用压缩?,compression,hbase,Compression,Hbase,我有一个非常大的Hbase表apData,但它在创建时没有设置为压缩。现在是1.5TB。所以我想在这个表上启用压缩功能。我做了以下工作: (1)disable apData (2)alter apData,{NAME=>'cf1',COMPRESSION=>'snappy'} (3)enable 'apData'. 但当我使用“desc apData”查看配置时,它仍然显示: COMPRESSION=>“无” 为什么它没有生效?我应该如何压缩表,并确保未来的数据插入时会自动压缩 提
(1)disable apData
(2)alter apData,{NAME=>'cf1',COMPRESSION=>'snappy'}
(3)enable 'apData'.
但当我使用“desc apData”
查看配置时,它仍然显示:
COMPRESSION=>“无”
为什么它没有生效?我应该如何压缩表,并确保未来的数据插入时会自动压缩
提前谢谢 您需要将HBase配置为使用Snappy 您可以按照参考链接中提到的步骤在hbase中启用snappy压缩:
希望它能帮助您。如果我们从Tarbolls安装Hadoop和HBase,我们需要将HBase配置为使用Snappy;如果我们从RPM或Debian软件包安装它们,Snappy不需要HBase配置 根据要安装的机器的体系结构,我们必须在/etc/hbase/conf/hbase-env.sh中添加以下行之一:
For 32-bit platforms:
export HBASE_LIBRARY_PATH=/usr/lib/hadoop/lib/native/Linux-i386-32
For 64-bit platforms:
export HBASE_LIBRARY_PATH=/usr/lib/hadoop/lib/native/Linux-amd64-64
HBase将只压缩新的HFiles-您写入的新数据或压缩的结果您是否配置了Snappy。
验证是否在所有节点中加载了第一个snappy。要验证,请使用此命令
hbase org.apache.hadoop.hbase.util.CompressionTest
hdfs://host/path/to/hbase 活泼的
一旦snappy测试成功。上述压缩应该可以工作
有关snappy的配置和安装的更多详细信息:
非常感谢您!所以我不可能压缩现有的桌子吗?我听说过magior_compact,这有助于压缩现有数据吗。当前的表几乎是2TB,非常令人头痛。谢谢您可以使用hbase外壳启动主要压缩(统一HFiles,并且在编写新文件时也将使用压缩)谢谢Vick,我是否还需要修改hbase-site.xml以添加以下行请:hbase.regionserver.codecs=org.apache.hadoop.io.compress.SnappyCodec通常,您不需要在hbase-site.xml中添加代码。它应该自动确定。但你还是可以试试这个。您是否测试了snappy是否可用?如果此命令引发/hbase为非空的错误,该怎么办?