HBase在CentOS如何集群部署
导读:HBase在CentOS上的集群部署指南 一、环境准备 1. 硬件与系统要求 服务器数量:至少3台(1台Master、2台RegionServer,建议扩展至3台RegionServer提升容错性); 操作系统:所有服务器安装CentOS...
HBase在CentOS上的集群部署指南
一、环境准备
1. 硬件与系统要求
- 服务器数量:至少3台(1台Master、2台RegionServer,建议扩展至3台RegionServer提升容错性);
- 操作系统:所有服务器安装CentOS 7.x/8.x(需提前配置好主机名与IP映射,确保节点间可通过主机名互相ping通);
- 网络要求:千兆以太网,节点间网络延迟≤10ms,带宽≥1Gbps。
2. 依赖软件安装
在所有节点执行以下命令,安装必要依赖:
sudo yum install -y java-1.8.0-openjdk-devel wget vim lsof net-tools
- 验证Java环境:
java -version # 需输出Java 1.8及以上版本信息
3. 安装Hadoop与ZooKeeper(可选但推荐)
若集群需对接HDFS或依赖ZooKeeper做协调服务,需提前安装:
- Hadoop:安装HDFS与YARN(版本≥2.7),配置
hdfs-site.xml
(设置dfs.replication=3
)与core-site.xml
(设置fs.defaultFS=hdfs://namenode:9000
); - ZooKeeper:安装3节点集群(版本≥3.4),配置
zoo.cfg
(添加server.1=zookeeper1:2888:3888
等server项),并创建myid
文件(标识节点ID)。
二、HBase安装与配置
1. 下载与解压HBase
选择稳定版本(如2.4.9/2.5.5),在所有节点执行:
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/
sudo mv /usr/local/hbase-2.4.9 /usr/local/hbase # 重命名便于管理
2. 配置环境变量
编辑/etc/profile
文件,添加HBase路径:
echo "export HBASE_HOME=/usr/local/hbase" >
>
/etc/profile
echo "export PATH=\$HBASE_HOME/bin:\$PATH" >
>
/etc/profile
source /etc/profile # 使配置生效
3. 核心配置文件修改
进入HBase配置目录(/usr/local/hbase/conf
),修改以下文件:
(1)hbase-env.sh
设置Java路径与ZooKeeper管理方式(若使用外部ZooKeeper,需关闭HBase自带ZK):
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk # 替换为实际JDK路径
export HBASE_MANAGES_ZK=false # 设为false表示使用外部ZooKeeper
(2)hbase-site.xml
配置HBase核心参数(替换namenode
、zookeeper1-3
为实际主机名/IP):
<
configuration>
<
!-- HDFS根目录(分布式模式必配) -->
<
property>
<
name>
hbase.rootdir<
/name>
<
value>
hdfs://namenode:9000/hbase<
/value>
<
/property>
<
!-- 启用分布式模式 -->
<
property>
<
name>
hbase.cluster.distributed<
/name>
<
value>
true<
/value>
<
/property>
<
!-- ZooKeeper集群地址(逗号分隔) -->
<
property>
<
name>
hbase.zookeeper.quorum<
/name>
<
value>
zookeeper1,zookeeper2,zookeeper3<
/value>
<
/property>
<
!-- ZooKeeper数据存储目录 -->
<
property>
<
name>
hbase.zookeeper.property.dataDir<
/name>
<
value>
/var/lib/zookeeper<
/value>
<
/property>
<
!-- Master节点端口(默认16000) -->
<
property>
<
name>
hbase.master.port<
/name>
<
value>
16000<
/value>
<
/property>
<
!-- RPC超时时间(解决网络延迟问题) -->
<
property>
<
name>
hbase.rpc.timeout<
/name>
<
value>
120000<
/value>
<
/property>
<
/configuration>
(3)regionservers
文件
列出所有RegionServer节点(每行一个主机名):
hadoop001
hadoop002
hadoop003
(4)可选:backup-masters
文件(高可用)
若需配置Master高可用,在conf
目录下创建backup-masters
文件,添加备用Master节点(每行一个):
hadoop002
hadoop003
三、启动HBase集群
1. 启动外部服务
-
启动ZooKeeper集群:在每台ZooKeeper节点上执行:
cd /usr/local/zookeeper/bin ./zkServer.sh start
使用
./zkServer.sh status
检查节点状态(Leader/Follower)。 -
启动Hadoop集群(若使用HDFS):在NameNode节点上执行:
start-dfs.sh # 启动HDFS start-yarn.sh # 启动YARN(可选)
2. 启动HBase集群
- 在Master节点(如hadoop001)上执行:
或分步启动:cd /usr/local/hbase/bin ./start-hbase.sh # 一键启动Master与RegionServer
./start-master.sh # 启动Master ./start-regionserver.sh # 在RegionServer节点上执行(或通过脚本批量启动)
3. 验证集群状态
- 查看进程:在Master节点执行
jps
,应看到以下进程:HMaster # Master进程 HRegionServer # RegionServer进程(每个RegionServer节点一个)
- 进入HBase Shell:
执行简单命令验证:hbase shell
status 'simple' # 查看集群状态(显示"running"即为正常) create 'test_table', 'cf1' # 创建测试表 put 'test_table', 'row1', 'cf1:col1', 'value1' # 插入数据 scan 'test_table' # 扫描表数据 exit # 退出Shell
- 访问Web UI:浏览器输入
http://master-ip:16010
,查看集群概览、Region分布等信息。
四、注意事项
1. 时间同步
所有节点需安装NTP服务,确保时间误差≤1s:
sudo yum install -y ntp
sudo systemctl start ntpd
sudo systemctl enable ntpd
2. 防火墙配置
开放HBase与ZooKeeper端口(若防火墙开启):
sudo firewall-cmd --permanent --add-port=16000/tcp # Master端口
sudo firewall-cmd --permanent --add-port=16020/tcp # RegionServer端口
sudo firewall-cmd --permanent --add-port=2181/tcp # ZooKeeper端口
sudo firewall-cmd --reload
3. 日志排查
若启动失败,查看日志定位问题:
tail -f /usr/local/hbase/logs/hbase-*-master-*.log # Master日志
tail -f /usr/local/hbase/logs/hbase-*-regionserver-*.log # RegionServer日志
通过以上步骤,即可在CentOS上完成HBase集群部署。实际生产环境中,还需根据业务需求调整内存分配(如hbase-env.sh
中的HBASE_HEAPSIZE
)、Region分割策略等参数。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: HBase在CentOS如何集群部署
本文地址: https://pptw.com/jishu/732013.html