测试版本 hbase1.1.13 <——> hbase1.2.7
参考https://www.w3cschool.cn/hbase_doc/hbase_doc-48u12liz.html
1、切换版本前先备份hbase数据
- 停止 HBase 群集及相关服务Hive
- 将 HBase 数据目录复制到备份位置, 方法是使用 distcp 命令作为 HDFS 超级用户 (下面显示在启用安全的群集上);
使用distcp备份HBase数据目录:
# 当前集群位置备份
hadoop fs -cp /hbase /hbase-pre-upgrade-backup
# 或远程集群备份
kinit -k -t hdfs.keytab hdfs@EXAMPLE.COM
hadoop distcp /hbase /hbase-pre-upgrade-backup
2、切换目标版本
这里测试的是从1.2.7降级到1.1.13,反过来升级一样的操作
- 覆盖原软链接(环境变量配置的是软连接的路径所以不用修改)
ln -snf /opt/hbase-1.1.13 /opt/apps/hbase
目标版本下执行(此时hbase应该是停止的),检查 HFile v1 文件和损坏文件的存在,HFile v1 文件在0.96.x后不支持需要,要让它们重写为 HFile v2,您必须运行压缩。当然这里的hbase版本都不会出现这个问题。若存在损坏文件则删除。
bin/hbase upgrade -check
image.png
检查没问题继续升级是安全的。接下来是执行(execute)步骤。
bin/hbase upgrade -execute
image.png
接下来就可以启动hbase验证了。
网友评论