如何查看自动分区分裂是否正在打散

https://www.oceanbase.com/demo/tablet-split-sql-test

这里提到


我想问 怎么查看我的表是否正在进行分区分裂的过程中

2 个赞

可以查询一张表或所有表,主要是靠role = leader 并且用ls_id 分组统计一下数量,看看分区是不是均匀分布到多个primary zone中了

1 个赞

我看我一个分区才 不到1 千万的数据量 分散速度特别慢 到现在还没散到3台机器上去 可以加速吗

1 个赞

主要是看分区数量,分区数量分散在各个节点上

1 个赞

调度是不是有问题 分裂出一个分区在同一台机器上。。。。

obclient(root@test)[test]> select * from oceanbase.DBA_OB_TABLE_LOCATIONS where table_name = 'sbtest1' and role = 'leader';
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+---------------+----------+--------+--------------+-----------------+----------------------------+-----------+-----------------+---------------+----------+
| DATABASE_NAME | TABLE_NAME | TABLE_ID | TABLE_TYPE | PARTITION_NAME | SUBPARTITION_NAME | INDEX_NAME | DATA_TABLE_ID | TABLET_ID | LS_ID | ZONE  | SVR_IP        | SVR_PORT | ROLE   | REPLICA_TYPE | DUPLICATE_SCOPE | DUPLICATE_READ_CONSISTENCY | OBJECT_ID | TABLEGROUP_NAME | TABLEGROUP_ID | SHARDING |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+---------------+----------+--------+--------------+-----------------+----------------------------+-----------+-----------------+---------------+----------+
| test          | sbtest1    |   500014 | USER TABLE | P8192          | NULL              | NULL       |          NULL |    200009 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500016 | NULL            |          NULL | NULL     |
| test          | sbtest1    |   500014 | USER TABLE | P8193          | NULL              | NULL       |          NULL |    200010 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500017 | NULL            |          NULL | NULL     |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+---------------+----------+--------+--------------+-----------------+----------------------------+-----------+-----------------+---------------+----------+
2 rows in set (0.008 sec)

1 个赞

https://www.oceanbase.com/demo/tablet-split-sql-test
我是用一个分区来验证的

1 个赞

image

这是一张表的2个不同分区

1 个赞

你先查一下这个表有多少分区总数,然后按leader和日志流分组统计一下数量,就知道在一台机器上还是打散了

obclient(root@test)[test]> select * from oceanbase.DBA_OB_TABLE_LOCATIONS where table_name = 'sbtest1' and role = 'leader';
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+---------------+----------+--------+--------------+-----------------+----------------------------+-----------+-----------------+---------------+----------+
| DATABASE_NAME | TABLE_NAME | TABLE_ID | TABLE_TYPE | PARTITION_NAME | SUBPARTITION_NAME | INDEX_NAME | DATA_TABLE_ID | TABLET_ID | LS_ID | ZONE  | SVR_IP        | SVR_PORT | ROLE   | REPLICA_TYPE | DUPLICATE_SCOPE | DUPLICATE_READ_CONSISTENCY | OBJECT_ID | TABLEGROUP_NAME | TABLEGROUP_ID | SHARDING |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+---------------+----------+--------+--------------+-----------------+----------------------------+-----------+-----------------+---------------+----------+
| test          | sbtest1    |   500014 | USER TABLE | P8194          | NULL              | NULL       |          NULL |    200011 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500018 | NULL            |          NULL | NULL     |
| test          | sbtest1    |   500014 | USER TABLE | P8195          | NULL              | NULL       |          NULL |    200012 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500019 | NULL            |          NULL | NULL     |
| test          | sbtest1    |   500014 | USER TABLE | P8192          | NULL              | NULL       |          NULL |    200013 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500020 | NULL            |          NULL | NULL     |
| test          | sbtest1    |   500014 | USER TABLE | P8196          | NULL              | NULL       |          NULL |    200014 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500021 | NULL            |          NULL | NULL     |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+---------------+----------+--------+--------------+-----------------+----------------------------+-----------+-----------------+---------------+----------+
4 rows in set (0.009 sec)

这不是明显的分裂到了同一台机器上么。。。一共个 分区 分裂出3个

没有打散,看看参数是不是没调好

有啥参数?实验室里就是 enable split 你有什么建议不

enable rebalance enable transfer 还有一个控制调度的参数*internal,这些都没有吗

enable rebalance enable transfer 默认关闭 我 刚刚开启了 实验室过程没说要开。。。
*internal 我查下

还要改一下primary zone为zone1,zone2,zone3

obclient(root@sys)[oceanbase]> create tenant test resource_pool_list=(‘test_pool’), zone_list(‘zone1’,‘zone2’,‘zone3’), primary_zone=RANDOM, locality=‘F@zone1,F@zone2,F@zone3’ set variables ob_compatibility_mode=‘mysql’, ob_tcp_invited_nodes=’%’;"

我是这么建的
而且

primary_zone=RANDOM 就行

仍然分裂了 10个 新分区 全部在 zone 1 的机器上 不合理呀

obclient(root@test)[oceanbase]> select * from oceanbase.DBA_OB_TABLE_LOCATIONS where table_name = 'sbtest1' and role = 'leader';
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+---------------+----------+--------+--------------+-----------------+----------------------------+-----------+-----------------+---------------+----------+
| DATABASE_NAME | TABLE_NAME | TABLE_ID | TABLE_TYPE | PARTITION_NAME | SUBPARTITION_NAME | INDEX_NAME | DATA_TABLE_ID | TABLET_ID | LS_ID | ZONE  | SVR_IP        | SVR_PORT | ROLE   | REPLICA_TYPE | DUPLICATE_SCOPE | DUPLICATE_READ_CONSISTENCY | OBJECT_ID | TABLEGROUP_NAME | TABLEGROUP_ID | SHARDING |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+---------------+----------+--------+--------------+-----------------+----------------------------+-----------+-----------------+---------------+----------+
| test          | sbtest1    |   500014 | USER TABLE | P8193          | NULL              | NULL       |          NULL |    200015 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500022 | NULL            |          NULL | NULL     |
| test          | sbtest1    |   500014 | USER TABLE | P8197          | NULL              | NULL       |          NULL |    200016 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500023 | NULL            |          NULL | NULL     |
| test          | sbtest1    |   500014 | USER TABLE | P8194          | NULL              | NULL       |          NULL |    200019 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500026 | NULL            |          NULL | NULL     |
| test          | sbtest1    |   500014 | USER TABLE | P8199          | NULL              | NULL       |          NULL |    200020 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500027 | NULL            |          NULL | NULL     |
| test          | sbtest1    |   500014 | USER TABLE | P8195          | NULL              | NULL       |          NULL |    200021 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500028 | NULL            |          NULL | NULL     |
| test          | sbtest1    |   500014 | USER TABLE | P8200          | NULL              | NULL       |          NULL |    200022 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500029 | NULL            |          NULL | NULL     |
| test          | sbtest1    |   500014 | USER TABLE | P8192          | NULL              | NULL       |          NULL |    200023 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500030 | NULL            |          NULL | NULL     |
| test          | sbtest1    |   500014 | USER TABLE | P8201          | NULL              | NULL       |          NULL |    200024 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500031 | NULL            |          NULL | NULL     |
| test          | sbtest1    |   500014 | USER TABLE | P8196          | NULL              | NULL       |          NULL |    200025 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500032 | NULL            |          NULL | NULL     |
| test          | sbtest1    |   500014 | USER TABLE | P8202          | NULL              | NULL       |          NULL |    200026 |  1001 | zone1 | 10.200.82.114 |     2882 | LEADER | FULL         | NONE            | NONE                       |    500033 | NULL            |          NULL | NULL     |
+---------------+------------+----------+------------+----------------+-------------------+------------+---------------+-----------+-------+-------+---------------+----------+--------+--------------+-----------------+----------------------------+-----------+-----------------+---------------+----------+
10 rows in set (0.009 sec)