开发者社区 问答 正文

OceanBase各位大佬,如果搭建一个2-1-1的集群;zone1创建一个规格,然后pool1=?

OceanBase各位大佬,如果搭建一个2-1-1的集群;zone1创建一个规格,然后pool1=unit1,zonelist=zone1;zone2\3创建一个规格,然后poo2=unit2,zonelist=zone2,zone3;这样使用OB有问题吗? 我理解的是假如我这样搭建了,假设表1有8个分片,zone1里面因为是两个unit,所以每个unit上各4个分片;然后zone2、3只有1台机器,所以每个unit里面8个分片;总的来说,仍然是3个副本;坏任意一台机器,集群仍然是好的,我这样理解对吗?

展开
收起
真的很搞笑 2023-07-04 12:38:33 131 分享 版权
来自: OceanBase
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    在 OceanBase 集群中,一个副本集(Replica Set)通常包含三个副本(Replica),分别位于不同的物理服务器上,以确保数据的高可用性和容错性。通常情况下,副本集的分布情况为 3-3-3 或者 2-2-2-1,即每个副本集分别包含 3 个副本或者 4 个副本。

    如果您要搭建一个 2-1-1 的集群,意味着有两个副本集,每个副本集包含 2 个副本和 1 个副本。

    2023-07-31 08:01:02
    赞同 展开评论
  • 你的理解大致是正确的。在你描述的这种 OceanBase 集群架构中(2-1-1),根据你的配置,有以下几个方面需要注意:

    1. 分片数量:根据你的描述,表1有8个分片。在 zone1 中,每个 unit 上分配了 4 个分片,而在 zone2 和 zone3 的每个 unit 上分配了 8 个分片。这样总共有 3 个副本,确保任意一台机器故障时都有备份。

    2. 数据分布:由于 zone1 中有两个 unit,它们将负责处理 zone1 的数据。zone2 和 zone3 各有一个 unit,它们将负责处理 zone2 和 zone3 的数据。这样可以实现数据的分布和负载均衡。

    3. 容错性:在你的配置中,即使任何一个 zone 发生故障,集群仍然能正常运行。因为每个分片都有 3 个副本,其中一个副本位于 zone1,另外两个副本位于 zone2 和 zone3。即使其中一个 zone 故障,其他两个 zone 仍然可以提供服务。

    2023-07-04 17:32:50
    赞同 展开评论
  • 照你那样说,zone1里面为什么会有两个unit??? zone1里面有几个unit不是要看你创建pool1时给了多少个unit_num吗 是好像在哪里见过这种架构介绍,但不建议,此回答整理自钉群“[社区]技术答疑群OceanBase”

    2023-07-04 12:52:41
    赞同 展开评论