5节点部署问题

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】OBserver
【 使用版本 】
【问题描述】请教一下,我有一个5个zone的oceanbase集群,部署在3个机房,zone的架构是2+2+1,主节点在zone1的机器上。

问题1:假如机房1和机房2之间的网络断了。此时机房1和机房3之间是正常的,满足大数据节点存活;同样的机房2和机房3 也是满足大多数节点存活。会发生脑裂问题吗?

问题2:对于5节点的集群,如果我在创建租户的时候,tenant1创建为5副本模式,tenant2创建为3副本模式(F@zon1,F@zone2,F@zone3)。如果此时zone1和zone2节点服务器挂了,tenant1是否受影响、tenant2是否受影响、整个集群是否受影响?

【附件】

问题1:不会发生脑裂问题

我的理解,在4.0版本之前,分布式协议paxos是按照租户下面表的分区来进行clog日志同步的,这个时候,租户2的表大多数分区已经出问题,影响到同步了吧。不过我也没试验过,没有那么多机器测试 :pensive:


每个节点都有一份备份数据,只要租户至少还有一个节点,数据是不会受到影响的

哦哦,学习了,感谢

很抱歉,这边跟开发同学确认,三节点集群的租户2的问题回答错误,只剩一个节点的时候根据Paxos 协议多数派机器挂掉,该租户不会再继续提供服务。

感谢感谢,明白了,有机会我也测试一下

对于SSTABLE和memtable的写操作都在内存执行且到阈值后才落盘,如果机器宕机,那如何保证数据不丢失?这个阈值是多少呢?

很有趣的问题,可以看看这个: OB 集群网络假想单边故障实验

数据是延迟落盘,但是事务日志(clog)是一直在同步的,使用 multi-paxos协议(多数派同步成功即认定结果有效)。所以少数节点宕机,该节点上的提供服务的数据(日志流主副本对应的分区)OB 会立即切换到另外的节点上提供读写服务。

我是否可以理解为咱们OB日志写的方式和oracle的redo原理差不多?

clog 可以类比 redoclog的多数派同步效果类似于 ORACLE DG 1主2备的 最大保护模式同步但又多一点不一样的地方。
OB 没有 archivelog ,OB 日志归档说的是 clog的日志备份。
OB 里看不到像 redo logarchivelog 那样直接的日志文件。clog 文件比较复杂,每个租户都有,文件格式可以不用管。

1 个赞

OB 在线的 培训材料可以看看,讲的都非常好。
OBCA认证-OceanBase OBCA官网-OBCA考试-OceanBase

好的