OBServer 高可用问题

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
OBServer OBProxy
【 使用版本 】
社区版 v4.3.5
【问题描述】清晰明确描述问题
同一个zone内有5台节点,租户Unit为3,当随机关闭一台存在租户Unit的节点后,通过obproxy无法连接数据库,使用节点IP也无法连接数据库,obproxy3台通过HAproxy做负载。

3 个赞

你这是只有一个zone?

2 个赞

目前安装信息是这些:
zone之间IP均可通讯,不存在网络连接问题
10.10.10.10 OCP平台
zone1
10.10.10.11 OceanBase+ Obproxy+rootservice
10.10.10.12 OceanBase+ Obproxy
10.10.10.13 OceanBase+ Obproxy
10.10.10.14 OceanBase
10.10.10.15 OceanBase
zone2
10.10.22.11 OceanBase+ Obproxy
10.10.22.12 OceanBase+ Obproxy
10.10.22.13 OceanBase+ Obproxy
10.10.22.14 OceanBase
10.10.22.15 OceanBase
目前问题:
1.停止rootservice集群会不可用,rootservice按照文档ip:2881:2882;ip:2881:2882;进行设置了四个root节点,zone1两个,zone2两个,但是配置后过一段时间会自动恢复为安装时指定的一个root节点。
2.停止掉10.10.10.11集群也会不可用,租户Leader会全部变成FULL且不会自动选举出Leader,造成租户数据库无法连接,这个不知道为什么。

1 个赞

1 个赞

大概5分钟后会恢复为仅剩一个
image

你这是单zone相当于单副本,关闭一台存在租户Unit的节点相当于该租户分区不完整了,肯定无法登录的

你这两个信息查询一下 看看你的架构什么样的
SELECT ZONE,svr_ip as RootService FROM oceanbase.DBA_OB_SERVERS;
SELECT * FROM oceanbase.DBA_OB_ZONES;

我后面增加成双zone了

1 个赞

ob保持高可用是需要大多数可用副本集。双zone倒下一个就相当于不符合大多数原则了。你资源充足的话可以弄个三zone或五zone的。
相当于三zone的可以损坏一个zone,五个zone的最多可以损坏两个zone

好的,我在新建一个zone试试,那么rootservice配置消失是什么问题呢

关于rootservice的解释