为什么表分区的leader只聚集到一个zone?

【 使用环境 】测试环境
【 使用版本 】OceanBase_CE 4.4.1.0
【问题描述】
sys租戶以下訊息:

  • 三個Zone: zone1, zone2, zone3
  • 每個Zone都安裝一個observer
  • 副本类型: 全能型副本
  • Zone 优先级: RANDOM
  • 机房: default_idc
  • 地域: deault_region

如何让Leader 副本分布在其他zone?

Create table:

CREATE TABLE dba1.T1(C1 INT) PARTITION BY HASH(C1) PARTITIONS 8;

Leader Info:

obclient(root@sys)[oceanbase]> select DATABASE_NAME, TABLE_NAME, TABLE_ID, TABLE_TYPE, PARTITION_NAME, `ZONE`, SVR_IP, SVR_PORT, `ROLE` 
    -> from DBA_OB_TABLE_LOCATIONS 
    -> where table_name like 'T%'
    -> and role = 'LEADER'
    -> order by DATABASE_NAME, TABLE_NAME,  PARTITION_NAME, `ROLE`;
+---------------+------------+----------+------------+----------------+-------+-------------+----------+--------+
| DATABASE_NAME | TABLE_NAME | TABLE_ID | TABLE_TYPE | PARTITION_NAME | ZONE  | SVR_IP      | SVR_PORT | ROLE   |
+---------------+------------+----------+------------+----------------+-------+-------------+----------+--------+
| dba1          | T0         |   500012 | USER TABLE | p0             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T0         |   500012 | USER TABLE | p1             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T0         |   500012 | USER TABLE | p2             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T0         |   500012 | USER TABLE | p3             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T0         |   500012 | USER TABLE | p4             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T0         |   500012 | USER TABLE | p5             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T0         |   500012 | USER TABLE | p6             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T0         |   500012 | USER TABLE | p7             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T1         |   500021 | USER TABLE | p0             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T1         |   500021 | USER TABLE | p1             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T1         |   500021 | USER TABLE | p2             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T1         |   500021 | USER TABLE | p3             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T1         |   500021 | USER TABLE | p4             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T1         |   500021 | USER TABLE | p5             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T1         |   500021 | USER TABLE | p6             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T1         |   500021 | USER TABLE | p7             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T2         |   500030 | USER TABLE | p0             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T2         |   500030 | USER TABLE | p1             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T2         |   500030 | USER TABLE | p2             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T2         |   500030 | USER TABLE | p3             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T2         |   500030 | USER TABLE | p4             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T2         |   500030 | USER TABLE | p5             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T2         |   500030 | USER TABLE | p6             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T2         |   500030 | USER TABLE | p7             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T3         |   500039 | USER TABLE | p0             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T3         |   500039 | USER TABLE | p1             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T3         |   500039 | USER TABLE | p2             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T3         |   500039 | USER TABLE | p3             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T3         |   500039 | USER TABLE | p4             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T3         |   500039 | USER TABLE | p5             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T3         |   500039 | USER TABLE | p6             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T3         |   500039 | USER TABLE | p7             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T4         |   500048 | USER TABLE | p0             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T4         |   500048 | USER TABLE | p1             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T4         |   500048 | USER TABLE | p2             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T4         |   500048 | USER TABLE | p3             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T4         |   500048 | USER TABLE | p4             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T4         |   500048 | USER TABLE | p5             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T4         |   500048 | USER TABLE | p6             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T4         |   500048 | USER TABLE | p7             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T5         |   500057 | USER TABLE | p0             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T5         |   500057 | USER TABLE | p1             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T5         |   500057 | USER TABLE | p2             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T5         |   500057 | USER TABLE | p3             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T5         |   500057 | USER TABLE | p4             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T5         |   500057 | USER TABLE | p5             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T5         |   500057 | USER TABLE | p6             | zone3 | 10.100.0.71 |     2882 | LEADER |
| dba1          | T5         |   500057 | USER TABLE | p7             | zone3 | 10.100.0.71 |     2882 | LEADER |
+---------------+------------+----------+------------+----------------+-------+-------------+----------+--------+
48 rows in set (0.384 sec)

查看租户信息
SELECT TENANT_ID, TENANT_NAME, STATUS, SWITCHOVER_STATUS, TENANT_ROLE, PRIMARY_ZONE, LOCALITY FROM oceanbase.DBA_OB_TENANTS;
根据业务租户查看日志流信息
SELECT UNIT_GROUP_ID, UNIT_ID, ZONE, SVR_IP, SVR_PORT FROM oceanbase.DBA_OB_UNITS WHERE TENANT_ID=1002 AND STATUS = ‘ACTIVE’ ORDER BY UNIT_GROUP_ID;
查看日志流信息
SELECT LS_ID, PRIMARY_ZONE, UNIT_GROUP_ID, LS_GROUP_ID FROM oceanbase.DBA_OB_LS WHERE LS_ID != 1 AND STATUS = ‘NORMAL’;

租户信息:

obclient(root@sys)[oceanbase]> SELECT TENANT_ID, TENANT_NAME, STATUS, SWITCHOVER_STATUS, TENANT_ROLE, PRIMARY_ZONE, LOCALITY FROM oceanbase.DBA_OB_TENANTS;
+-----------+-------------+--------+-------------------+-------------+--------------+---------------------------------------------+
| TENANT_ID | TENANT_NAME | STATUS | SWITCHOVER_STATUS | TENANT_ROLE | PRIMARY_ZONE | LOCALITY                                    |
+-----------+-------------+--------+-------------------+-------------+--------------+---------------------------------------------+
|         1 | sys         | NORMAL | NORMAL            | PRIMARY     | RANDOM       | FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3 |
+-----------+-------------+--------+-------------------+-------------+--------------+---------------------------------------------+
1 row in set (0.021 sec)

业务租户日志流信息:

obclient(root@sys)[oceanbase]> SELECT UNIT_GROUP_ID, UNIT_ID, ZONE, SVR_IP, SVR_PORT FROM oceanbase.DBA_OB_UNITS WHERE TENANT_ID=1 AND STATUS = 'ACTIVE' ORDER BY UNIT_GROUP_ID;   
+---------------+---------+-------+--------------+----------+
| UNIT_GROUP_ID | UNIT_ID | ZONE  | SVR_IP       | SVR_PORT |
+---------------+---------+-------+--------------+----------+
|             1 |       1 | zone1 | 10.100.0.154 |     2882 |
|             1 |       2 | zone2 | 10.100.0.136 |     2882 |
|             1 |       3 | zone3 | 10.100.0.71  |     2882 |
+---------------+---------+-------+--------------+----------+
3 rows in set (0.001 sec)

日志流信息:

obclient(root@sys)[oceanbase]> SELECT LS_ID, PRIMARY_ZONE, UNIT_GROUP_ID, LS_GROUP_ID FROM oceanbase.DBA_OB_LS WHERE STATUS = 'NORMAL';               
+-------+-------------------+---------------+-------------+
| LS_ID | PRIMARY_ZONE      | UNIT_GROUP_ID | LS_GROUP_ID |
+-------+-------------------+---------------+-------------+
|     1 | zone1,zone2,zone3 |             0 |           0 |
+-------+-------------------+---------------+-------------+
1 row in set (0.013 sec)

建议创建一个业务租户重新测试 sys租户不建议使用 因为sys租户的日志流只有一个 是没有打散的 在一个节点上 是正常的