一、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
讀取路徑: