Debian上HBase集群搭建步骤是什么
小樊
38
2026-01-09 14:43:52
Debian上HBase集群搭建步骤
一 环境准备与前置条件
- 准备至少3台 Debian 主机(建议),配置主机名解析与免密 SSH,并打通各节点之间的TCP 22/2181/16000/16010/16020/16030等端口(或临时关闭防火墙以便部署)。
- 安装并验证 Java 8+:sudo apt update && sudo apt install -y openjdk-8-jdk;java -version。
- 部署并可用 HDFS 集群(HBase 的 hbase.rootdir 指向 HDFS),建议 Hadoop ≥ 2.7。
- 部署并可用 ZooKeeper 集群(建议 ZK ≥ 3.4),三节点起步更稳妥。
- 建议在所有节点进行时间同步(如 ntp/chrony),避免 RegionServer 与 ZK 会话异常。
- 创建专用系统用户(如 hbase)并统一目录权限,便于安全与运维。
二 安装与目录规划
- 下载并解压 HBase(示例选用稳定版 2.4.x):
wget https://archive.apache.org/dist/hbase/2.4.10/hbase-2.4.10-bin.tar.gz
tar -xzvf hbase-2.4.10-bin.tar.gz && sudo mv hbase-2.4.10 /usr/local/hbase
- 建立软链与目录:
sudo ln -sfn /usr/local/hbase /usr/local/hbase/current
sudo mkdir -p /var/log/hbase /usr/local/hbase/data /usr/local/hbase/zookeeper
sudo chown -R hbase:hbase /usr/local/hbase /var/log/hbase
- 配置环境变量(所有节点一致):
echo ‘export HBASE_HOME=/usr/local/hbase/current’ >> /etc/profile.d/hbase.sh
echo ‘export PATH=$PATH:$HBASE_HOME/bin’ >> /etc/profile.d/hbase.sh
source /etc/profile.d/hbase.sh
- 说明:HBase 默认会启动内置 ZooKeeper;生产环境建议外置 ZK 集群并将 HBASE_MANAGES_ZK=false。
三 集群配置
- 编辑 hbase-env.sh(所有节点):
- 设置 JAVA_HOME(如:/usr/lib/jvm/java-8-openjdk-amd64)
- 关闭内置 ZK:export HBASE_MANAGES_ZK=false
- 可按需设置堆大小:export HBASE_HEAPSIZE=8192(单位 MB)
- 编辑 hbase-site.xml(所有节点保持一致):
- 分布式开关:
hbase.cluster.distributedtrue
- 存储目录(指向 HDFS 命名服务或 NameNode RPC 地址):
hbase.rootdirhdfs://mycluster/hbase
- 外部 ZK 地址:
hbase.zookeeper.quorumzk1,zk2,zk3
- ZK 数据目录(HBase 会使用该目录在本地保存 ZK 相关元数据,非 ZK 服务端数据目录):
hbase.zookeeper.property.dataDir/usr/local/hbase/zookeeper
- 可选:会话与心跳(跨机房可适当放大)
zookeeper.session.timeout1200000
hbase.zookeeper.property.tickTime6000
- 配置 regionservers(仅主节点编辑,列出所有 RegionServer 主机名,一行一个):
zk1
zk2
rs1
rs2
- 配置 backup-masters(主节点创建,指定备用 Master):
echo “zk2” > $HBASE_HOME/conf/backup-masters
- 同步配置到所有节点:使用 rsync/scp 保持 HBASE_HOME/conf 完全一致。
四 启动与验证
- 启动顺序:先 HDFS → 再 ZooKeeper → 最后 HBase。
- 在主节点启动 HBase:
$HBASE_HOME/bin/start-hbase.sh
- 检查进程(示例):
- 主节点:jps 应见 HMaster
- 备主节点:jps 应见 HMaster + HRegionServer
- RegionServer 节点:jps 应见 HRegionServer
- 访问 Web UI:
- HMaster:http://:16010
- RegionServer:http://:16030
- HBase Shell 验证:
$HBASE_HOME/bin/hbase shell
hbase> status
hbase> list
- 常见问题排查:
- 无法连接 HDFS:检查 hbase.rootdir 的 HDFS 命名服务/端口、core-site.xml/hdfs-site.xml 是否同步到 HBase 配置目录。
- 无法连接 ZK:核对 hbase.zookeeper.quorum、网络连通与 ZK 2181 端口。
- 时间漂移:启用 NTP 同步。
五 生产可用性与性能要点
- 高可用:至少部署 2 台 Master(使用 backup-masters),避免单点。
- 内存与缓存:合理分配 MemStore 与 BlockCache,两者占堆比例之和建议不超过 0.8,例如:
- 写密集:global.memstore.size=0.5,hfile.block.cache.size=0.25
- 读密集:global.memstore.size=0.3,hfile.block.cache.size=0.4
- 并发与超时:根据 CPU 与网络调整 hbase.regionserver.handler.count(如 100~300),并结合业务设置 rpc.timeout 与 hbase.client.scanner.timeout.period。
- 存储与压缩:为列族合理设置 BloomFilter、选择合适的 Compaction 策略(如通用场景用 Exploring,时序数据可用 FIFO)。