一、HBase集群搭建实战
1.1 环境规划建议
硬件配置基准(以10节点集群为例):
角色 | CPU | 内存 | 磁盘 | 网络 |
---|---|---|---|---|
HMaster | 4核 | 16GB | SSD 200GB(系统盘) | 10Gbps |
RegionServer | 16核 | 64GB | 12×4TB HDD(JBOD) | 25Gbps |
ZooKeeper | 4核 | 8GB | SSD 500GB | 10Gbps |
1.2 关键配置项示例(hbase-site.xml)
<configuration>
<!-- HDFS集成 -->
<property>
<name>hbase.rootdir</name>
<value>hdfs://cdh-prod/hbase</value>
</property>
<!-- ZooKeeper集群 -->
<property>
<name>hbase.zookeeper.quorum</name>
<value>zk1,zk2,zk3</value>
</property>
<!-- 压缩配置 -->
<property>
<name>hbase.regionserver.codecs</name>
<value>snappy,lzo</value>
</property>
<!-- 内存优化 -->
<property>
<name>hbase.regionserver.global.memstore.size</name>
<value>0.4</value>
</property>
</configuration>
初始化步骤:
# 启动HDFS和ZooKeeper
hdfs dfs -mkdir /hbase
sudo systemctl start zookeeper-server
# 初始化HBase
start-hbase.sh
hbase shell <<< "create 'test_table', 'cf'"
二、HBase核心原理精讲
2.1 数据存储模型
逻辑视图:
Table → RowKey → Column Family → Column Qualifier → Version → Value
物理存储:
Region → Store → MemStore + HFile
2.2 读写流程解析
写入过程:
Client → ZooKeeper → RegionServer → WAL → MemStore
读取路径: