HBase2.0.2升级HBase2.2.7遇到的问题及处理方法

网友投稿 1177 2022-05-30

HBase低版本2.0+升级到HBase2.2+的方法可以参考官方文档,如下,

https://hbase.apache.org/book.html

2.2版本移除了Unassign和Assign的Procedure,导致低版本升级上来后,读取到Procedure日志内容时会解析不出来

13.3. Upgrade from 2.0 or 2.1 to 2.2+

HBase 2.2+ uses a new Procedure form assigning/unassigning/moving Regions. It does not process HBase 2.1 and 2.0’s Unassign/Assign Procedure types. Upgrade requires that we first drain the Master Procedure Store of old style Procedures before starting the new 2.2 Master. So you need to make sure that before you kill the old version (2.0 or 2.1) Master, there is no region in transition. And once the new version (2.2+) Master is up, you can rolling upgrade RegionServers one by one.

And there is a more safer way if you are running 2.1.1+ or 2.0.3+ cluster. It need four steps to upgrade Master.

Shutdown both active and standby Masters (Your cluster will continue to server reads and writes without interruption).

Set the property hbase.procedure.upgrade-to-2-2 to true in hbase-site.xml for the Master, and start only one Master, still using the 2.1.1+ (or 2.0.3+) version.

Wait until the Master quits. Confirm that there is a 'READY TO ROLLING UPGRADE' message in the Master log as the cause of the shutdown. The Procedure Store is now empty.

Start new Masters with the new 2.2+ version.

Then you can rolling upgrade RegionServers one by one. See HBASE-21075 for more details.

如果HBase版本是2.0.2版本要升级却无法适用。如果在集群有数据的升级到了2.2.7版本时候,会遇到“Unsupported procedure type class org.apache.hadoop.hbaes.master.assignment.AssignProcedure found” 这样的错误。此时也没有别的方法,只能回退或者人工操作。

HBase2.0.2升级HBase2.2.7遇到的问题及处理方法

这里简单说一下2.0.2离线升级到2.2.7的步骤

1、2.0.2hbase升级前,将所有的业务表disable

2、停止hbase2.0.2集群

3、删除zk上hbase的meta server节点 (为了升级后meta region能正常上线)

4、删除hdfs上hbase的master procedure文件,

5、升级替换hbase2.0.0-->hbase2.2.7的包

6、启动HBase,此时meta表能上线,namespace无法上线,需要人工处理,hbck2工具或者操作,见下方

7、namespace表上线后,hbase表就完全启动了

8,enable所有的业务表

这里第1,8步骤的disable和enable表,是因为直接删除master procedure文件,会导致所有的表处于一种僵死状态,不能下线也不能上线,人工操作比较难维护,需要hbck2工具单独处理,所以不如一开始就disable掉

HBase

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Hutool代替util工具类
下一篇:精讲RestTemplate第1篇-在Spring或非Spring环境下如何使用
相关文章