关于创建一级分区无法分散到多个节点下

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】社区版3.1.4
有三个节点 ip根据时间创建一级分区所有的分区全部落到其中的一个节点上 又没大佬知道需要怎么设置才能分区自动的落到其他的IP节点上(125或126)


3 个赞

你的截图跟你描述的问题没啥关系啊。图1 rootserver 只会在一个节点。
图1 tenant_id=1,系统租户。

V3不太了解,不确定是不是查你发的这个视图

5 个赞

测试普通租户的话,你需要修改租户的unit_num数量。
建议升级版本,目前3.x版本已经不进行运维

4 个赞

可以直接使用root用户吗?像mysqln那样

4 个赞

第一个截图说明有三个可以使用的节点服务,第二个截图猜的创建分区落到的节点上

4 个赞

ob是租户隔离级别,简单点理解可以把每个租户相当于一个新的mysql环境。
sys租户不建议进行业务测试等操作,建议你搭建个新的租户进行测试

4 个赞

问一下一定要租户才能分区使用其他的节点吗?

4 个赞

你的架构是什么样的?如果是1-1-1的,那这个也没什么问题

4 个赞

现在就是数据不懂得要怎么样才能落到别的节点上

4 个赞

是否设置过primary_zone?

4 个赞

没有设置过哈

3 个赞

修改unit_num即可

2 个赞

我有三台机器這个值改为3吗?

2 个赞

是的

1 个赞

1-1-1架构,修改unit_num=3,有点看不懂

1 个赞

我执行
CREATE RESOURCE POOL rp1 UNIT ‘uc1’, UNIT_NUM 3, ZONE_LIST (‘zone1’);
报错了
resource unit ‘uc1’ not exist 是哪里有问题吗?

1 个赞

你这个是创建,你需要进行修改资源池,查询下当前租户使用的资源池
SELECT * FROM oceanbase.dba_ob_resource_pools;
然后根据使用的资源池名称进行修改
ALTER RESOURCE POOL 名称 UNIT_NUM 3;

1 个赞

嗯可以了谢谢

1 个赞

能在问一下嘛?我這个做了分区现在的查询非常的慢又什么解决的办法吗?也添加了分区的索引

1 个赞

你可以查一下你的分区查询是否触发了分布式执行计划,如果触发了可以使用表组功能,把该分区表的leader全部放在同一个节点下面。
表组的属性有三种:NONE、PARTITION 和 ADAPTIVE
sharding=none。表组内所有表的所有分区聚集在一起,保证在一台机器上
sharding=partition。表组内所有表按一级分区打散。对于二级分区表,其一级分区下的所有二级分区聚集在一起
sharding=adaptive。一级分区值相同,并且二级分区值也相同的分区聚集在一起