CentOS系统HBase升级步骤及注意事项
备份关键数据
升级前必须备份HBase的所有关键数据,包括数据目录(默认/hbase/data)、配置文件(hbase-site.xml、hbase-env.sh、hbase-default.xml等)。常用命令:
# 停止HBase服务
stop-hbase.sh
# 备份数据目录
tar -czvf hbase-data-backup-$(date +%F).tar.gz /hbase/data
# 备份配置文件
tar -czvf hbase-config-backup-$(date +%F).tar.gz /etc/hbase/conf
检查版本兼容性
确保新版本HBase与现有Hadoop、ZooKeeper等组件兼容。参考HBase官方兼容性矩阵(如HBase 2.x需搭配Hadoop 3.x及以上版本),避免因版本冲突导致升级失败。
下载新版本HBase
从Apache HBase官方网站下载所需版本的二进制包(如hbase-2.4.9-bin.tar.gz),选择与CentOS系统架构(x86_64)匹配的安装包。
停止HBase集群
使用HBase自带的脚本停止所有服务,确保数据一致性:
stop-hbase.sh
备份旧版本HBase
将旧版本HBase的安装目录完整备份,便于升级失败时快速回滚:
tar -czvf hbase-old-backup-$(date +%F).tar.gz /opt/hbase-2.3.6 # 替换为旧版本实际路径
解压新版本HBase
将下载的新版本压缩包解压到指定目录(如/opt),并重命名目录以便管理:
tar -xzvf hbase-2.4.9-bin.tar.gz -C /opt
mv /opt/hbase-2.4.9 /opt/hbase
更新配置文件
将旧版本的配置文件复制到新版本目录,并根据新版本要求调整参数:
cp -r /etc/hbase/conf/* /opt/hbase/conf/
# 修改hbase-site.xml中的新版本相关配置(如hbase.rootdir路径、ZooKeeper地址等)
vi /opt/hbase/conf/hbase-site.xml
更新环境变量
编辑/etc/profile或~/.bashrc文件,更新HBase的环境变量(如HBASE_HOME、PATH):
export HBASE_HOME=/opt/hbase
export PATH=$PATH:$HBASE_HOME/bin
source /etc/profile # 使配置生效
启动新版本HBase
启动HBase集群,观察日志确认服务是否正常启动:
start-hbase.sh
jps # 检查HMaster、HRegionServer进程是否运行
检查服务状态
使用HBase命令行工具验证集群状态:
hbase master status # 查看Master状态
hbase regionserver status # 查看RegionServer状态
访问Web UI
打开浏览器访问HBase Web界面(默认http://<hbase_master_host>:16010/master-status),确认集群运行正常、Region分布均匀。
测试基本操作
使用HBase Shell执行简单操作(如创建表、插入数据、查询数据),验证数据读写功能是否正常:
hbase shell
create 'test_table', 'cf'
put 'test_table', 'row1', 'cf:name', 'John'
get 'test_table', 'row1'
确认新版本运行稳定后,删除旧版本HBase目录以释放磁盘空间:
rm -rf /opt/hbase-2.3.6 # 替换为旧版本实际路径
/opt/hbase/logs目录),及时处理报错信息。# 停止新版本HBase
stop-hbase.sh
# 恢复旧版本备份
tar -xzvf hbase-old-backup-$(date +%F).tar.gz -C /opt
mv /opt/hbase-old /opt/hbase
# 启动旧版本HBase
start-hbase.sh