HBase依赖Java运行环境,需先安装OpenJDK(推荐11及以上版本):
sudo apt update
sudo apt install openjdk-11-jdk
# 验证安装
java -version
Snappy是HBase常用的快速压缩算法,需安装其开发库:
sudo apt install libsnappy-dev
从Apache官网下载稳定版本(如2.6.0),解压至/usr/local并配置环境变量:
wget https://dlcdn.apache.org/hbase/2.6.0/hbase-2.6.0-bin.tar.gz
sudo tar -zxvf hbase-2.6.0-bin.tar.gz -C /usr/local/
sudo mv /usr/local/hbase-2.6.0 /usr/local/hbase # 重命名目录
# 配置环境变量
echo "export HBASE_HOME=/usr/local/hbase" >> ~/.bashrc
echo "export PATH=\$PATH:\$HBASE_HOME/bin" >> ~/.bashrc
source ~/.bashrc
# 验证安装
hbase version
编辑HBase主配置文件hbase-site.xml(位于/usr/local/hbase/conf/),添加以下关键配置:
<configuration>
<!-- 启用RegionServer端压缩 -->
<property>
<name>hbase.regionserver.compression.codec</name>
<value>org.apache.hadoop.hbase.io.compress.SnappyCodec</value> <!-- 可选:gzip/lzo/zstd -->
</property>
<!-- 设置压缩块大小(默认64KB,可根据数据特性调整) -->
<property>
<name>hbase.hregion.max.filesize</name>
<value>10737418240</value> <!-- 10GB,触发Compaction的文件大小阈值 -->
</property>
<!-- 控制Compaction频率(可选,优化存储效率) -->
<property>
<name>hbase.hstore.compactionThreshold</name>
<value>10</value> <!-- 触发Compaction的最小HFile数量 -->
</property>
</configuration>
修改配置后,重启HBase使更改生效:
cd /usr/local/hbase
bin/stop-hbase.sh # 停止HBase
bin/start-hbase.sh # 启动HBase
# 检查状态
jps # 应看到HMaster和HRegionServer进程
通过HBase Shell创建表并检查压缩设置:
# 进入Shell
bin/hbase shell
# 创建启用Snappy压缩的表
create 'test_table', {NAME => 'cf', COMPRESSION => 'SNAPPY'}
# 查看表详情(确认压缩配置)
describe 'test_table'
# 插入测试数据
put 'test_table', 'row1', 'cf:col1', 'value1'
# 扫描数据(可通过HBase Web UI或日志确认数据是否压缩)
scan 'test_table'
若已有表未启用压缩,可通过alter命令修改:
# 禁用表
disable 'existing_table'
# 修改列族压缩格式
alter 'existing_table', {NAME => 'cf', COMPRESSION => 'SNAPPY'}
# 启用表
enable 'existing_table'
# 再次验证
describe 'existing_table'
liblzo2-dev)。hbase.regionserver.compression.blocksize)。/usr/local/hbase/logs/hbase-*-master-*.log查看压缩是否生效(搜索“Compression”关键字)。