在centos系统上构建高可用hbase集群,需要以下步骤:
准备阶段
- 硬件资源: 至少三台服务器,建议配置为16核CPU、32GB内存、1TB SSD硬盘和千兆网络,确保网络互通。
- 操作系统: 所有服务器安装centos 7.x系统。
- JDK环境: 安装Java 8或更高版本JDK。
hbase集群部署
1. 安装依赖包
在所有节点执行以下命令,安装必要的依赖:
sudo yum install -y Java-1.8.0-openjdk-devel wget
2. 下载并解压HBase
在所有节点下载并解压HBase安装包 (替换2.4.9为实际版本号):
wget https://downloads.apache.org/hbase/2.4.9/hbase-2.4.9-bin.tar.gz tar -zxvf hbase-2.4.9-bin.tar.gz -C /usr/local/hbase/
3. 设置HBase环境变量
在HBase安装目录下配置环境变量,使系统能够识别HBase:
echo "export HBASE_HOME=/usr/local/hbase" >> /etc/profile echo "export PATH=$HBASE_HOME/bin:$PATH" >> /etc/profile source /etc/profile
4. 配置HBase核心配置文件
- hbase-env.sh: 设置JAVA_HOME和HBASE_MANAGES_ZK。 HBASE_MANAGES_ZK=false 表示由外部zookeeper管理。
cd /usr/local/hbase/conf vi hbase-env.sh # 添加或修改以下内容 export JAVA_HOME=/usr/local/java/jdk1.8.0_202 # 替换为你的JDK路径 export HBASE_MANAGES_ZK=false
- hbase-site.xml: 配置HBase核心参数,包括hdfs根目录、集群模式、Master端口、ZooKeeper集群地址等。 (请替换namenode, zookeeper1, zookeeper2, zookeeper3 为你的实际主机名或IP地址)
<configuration> <property> <name>hbase.rootdir</name> <value>hdfs://namenode:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.master.port</name> <value>16000</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>zookeeper1,zookeeper2,zookeeper3</value> </property> <property> <name>hbase.zookeeper.property.dataDir</name> <value>/usr/local/zookeeper</value> # ZooKeeper数据目录 </property> </configuration>
5. 配置RegionServers
在$HBASE_HOME/conf/regionservers文件中,列出所有RegionServer节点的主机名或IP地址,每行一个。
6. 启动集群
- 启动hadoop: 在所有节点启动HDFS和yarn (start-dfs.sh, start-yarn.sh)。
- 启动ZooKeeper: 在ZooKeeper服务器上启动ZooKeeper服务 (/usr/local/zookeeper/bin/zkServer.sh start)。
- 启动HBase: 在HBase Master节点启动HBase (start-hbase.sh)。
7. 验证集群状态
使用HBase shell连接集群并执行status命令验证集群状态:
hbase shell hbase(main):0> status
重要提示: 以上步骤是简化版,实际部署中需要考虑防火墙设置、主机名解析、ssh免密登录、时间同步等因素。 确保Hadoop集群已正确配置并运行。 ZooKeeper集群也需要提前搭建好。 请根据你的实际环境调整配置参数。