ob 现在分区表的子分区不能切leader

背景
3个zone,每个zone 有1个observer,现在有个分区表,有3个分区,按range来的,
所有子分区的leader 都集中在145 这个observer上,我

partition_name | svr_ip       | role   
---------------+--------------+--------
p20260919      | 172.30.1.145 | LEADER 
p20260920      | 172.30.1.145 | LEADER 
p20260921      | 172.30.1.145 | LEADER 

我想把p20260920 的leader 挪到146 这个observer 上,是不是已经没有办法了 ?
要不然读写流量都在145上啊

1 个赞

现在都是按照租户来的 不支持表级的leader的切换了

1 个赞

就是租户在哪个observer上,租户下面的表都在这个observer 上?

2 个赞

之前我说的也不全 在解释一下
4.x 里 Leader 挂在日志流上,分区继承日志流位置;同优先级多 Zone 时,会用日志流组把 Leader 打散到各个 Primary Zone。

2 个赞

– 三个分区各自落在哪条 LS
SELECT partition_name, tablet_id, object_id, table_id, ls_id, svr_ip, role
FROM oceanbase.CDB_OB_TABLE_LOCATIONS
WHERE tenant_id = <tenant_id>
AND table_name = ‘<你的表名>’
AND partition_name IN (‘p20260919’,‘p20260920’,‘p20260921’);

– 该租户各 LS 的 Leader 在哪
SELECT ls_id, svr_ip, svr_port, zone, role
FROM oceanbase.CDB_OB_LS_LOCATIONS
WHERE tenant_id = <tenant_id>
ORDER BY ls_id, role;

SELECT tenant_name, primary_zone, locality
FROM oceanbase.DBA_OB_TENANTS
WHERE tenant_name = ‘’;

处理方案
1、p20260920 独占一条 LS → 直接切主
2、三个分区在同一条 LS(最常见)→ 只能 Transfer

1、p20260920 独占一条 LS → 直接切主}
应该不行吧,我租户对应的日志流的leader 都在145上,可以把这个租户里面的 某个分区表的leader 放到146?

你可以看看 p20260920 独占一条 LS日志流么?如果不是 不能直接切主 不是给了你两个方案么?你自己查查信息 分析一下 看看哪个可行

多谢回复
我大概知道为什么了
之前被AI 误导了
我是3个zone,每个zone内1个observer,那我可以最起码给租户建3个日志流的,这样子分区可以到不同zone的不同observer上

什么叫给租户建日志流,日志流不是自动生成的么,不能主动控制吧