oceanbase扩容

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

原本有一台节点observer10.0.0.1,,新加2台10.0.0.2,10.0.0.3按照obd方式部署
正常显示
obd cluster display testdemo

| 10.0.0.1 | 4.2.2.0 | 2881 | zone1 | ACTIVE |
| 10.0.0…2 | 4.2.2.0 | 2881 | zone2 | ACTIVE |
| 10.0.0…3 | 4.2.2.0 | 2881 | zone3 | ACTIVE |

如果关闭新扩容的10.0.0.2,10.0.0.3任意一台,集群没有问题
如果关闭最初的10.0.0.1,集群就不可访问

1 个赞

推荐使用 obdiag 工具有针对性地进行日志采集,以便我们能够更准确地定位问题。

日志采集场景: 集群无法连接
日志采集命令: obdiag gather scene run --scene=observer.cluster_down

请您先执行上述命令,将生成的日志文件提供给我们,这将有助于我们进一步分析问题的原因。同时,为了更好地了解您的情况,请您提供以下信息:

  1. 关闭最初节点 10.0.0.1 之前,集群是否处于正常工作状态?
  2. 关闭该节点后,其他节点的状态如何?是否有任何异常日志或警告信息?
  3. 您是否尝试过重新启动该节点?如果有,结果如何?
  4. 集群中其他节点的 IP 地址是什么?
  5. 您是否配置了高可用性设置?如果有,请提供相关配置信息。

附上敏捷诊断工具 obdiag 使用帮助链接

1 个赞

是怎么访问的呢?通过obproxy还是直连observer节点?报错是什么?

1 个赞

select * from test;
ERROR 4012 (HY000): Timeout, query has reached the maximum query timeout: 10000000(us), maybe you can adjust the session variable ob_query_timeout or query_timeout hint, and try again.

1 个赞

是不是3台扩容5台,关闭老的1台和新的一台,才能成功

1 个赞

扩容后是否修改租户资源池将新节点也添加副本了

1 个赞

估计你只是将机器加到集群里实现集群扩容了但是没有对 sys 租户和业务租户扩容。

查一下下面 sql

select t1.name  pool_name, t2.`name` config_name, t2.max_cpu cpu,concat( round(t2.max_memory/1024/1024/1024) ,' G') memory, t3.zone, concat(t3.svr_ip,':',t3.`svr_port`) observer, t4.tenant_name
from __all_resource_pool t1 join __all_unit_config t2 on (t1.unit_config_id=t2.unit_config_id)
    join __all_unit t3 on (t1.`resource_pool_id` = t3.`resource_pool_id`)
    left join __all_tenant t4 on (t1.tenant_id=t4.tenant_id)
order by t4.tenant_name, t1.`resource_pool_id`, t2.`unit_config_id`, t3.unit_id
;

副本数调整示例原理看这个 https://mp.weixin.qq.com/s/L0uBV8s5gXagiylz4vYyOg

2 个赞

(root@10.103.14.25) [oceanbase]> select svr_ip,id,zone,status from __all_server;
±-------------±—±------±-------+
| svr_ip | id | zone | status |
±-------------±—±------±-------+
| IP1 | 3 | zone1 | ACTIVE |
| ip2 | 1 | zone2 | ACTIVE |
| ip3 | 2 | zone3 | ACTIVE |
±-------------±—±------±-------+

1 个赞

你是将两个节点扩容到其中两个zone上了么

1 个赞

是不是只做了 集群扩容 没有做租户扩容
查一下全部的信息
SELECT * FROM oceanbase.DBA_OB_UNITS

1 个赞

租户扩容必须要做吗

1 个赞

你不做的话 集群扩容 还有什么意义 这样的话资源都没有用上 建议看看官方文档 对你有帮助

SELECT TENANT_ID,TENANT_NAME,TENANT_TYPE,PRIMARY_ZONE,LOCALITY FROM oceanbase.DBA_OB_TENANTS;
±----------±------------±------------±-------------±--------------------------------------------+
| TENANT_ID | TENANT_NAME | TENANT_TYPE | PRIMARY_ZONE | LOCALITY |
±----------±------------±------------±-------------±--------------------------------------------+
| 1 | sys | SYS | RANDOM | FULL{1}@zone1 |
| 1001 | META$1002 | META | RANDOM | FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3 |
| 1002 | ocp | USER | RANDOM | FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3 |
±----------±------------±------------±-------------±--------------------------------------------+

select * from DBA_OB_RESOURCE_POOLS;
±-----------------±---------±----------±---------------------------±---------------------------±-----------±---------------±------------------±-------------+
| RESOURCE_POOL_ID | NAME | TENANT_ID | CREATE_TIME | MODIFY_TIME | UNIT_COUNT | UNIT_CONFIG_ID | ZONE_LIST | REPLICA_TYPE |
±-----------------±---------±----------±---------------------------±---------------------------±-----------±---------------±------------------±-------------+
| 1 | sys_pool | 1 | 2024-11-15 17:27:12.089426 | 2024-11-15 18:03:33.919616 | 1 | 1 | zone1;zone2;zone3 | FULL |
| 1001 | ocp_pool | 1002 | 2024-11-15 17:27:36.031955 | 2024-11-15 18:01:00.981069 | 1 | 1001 | zone1;zone2;zone3 | FULL |
±-----------------±---------±----------±---------------------------±---------------------------±-----------±---------------±------------------±-------------+
2 rows in set (0.002 sec)

ALTER RESOURCE POOL ocp_pool ZONE_LIST=(‘zone1’,‘zone2’,‘zone3’);
ALTER RESOURCE POOL sys_pool ZONE_LIST=(‘zone1’,‘zone2’,‘zone3’);
ALTER TENANT ocp locality=“FULL{1}@zone1,FULL{1}@zone2,FULL{1}@zone3”;

SELECT TENANT_ID,TENANT_NAME,TENANT_TYPE,PRIMARY_ZONE,LOCALITY FROM oceanbase.DBA_OB_TENANTS;
±----------±------------±------------±-------------±--------------------------------------------+
| TENANT_ID | TENANT_NAME | TENANT_TYPE | PRIMARY_ZONE | LOCALITY |
±----------±------------±------------±-------------±--------------------------------------------+
| 1 | sys | SYS | RANDOM | FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3 |
| 1001 | META$1002 | META | RANDOM | FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3 |
| 1002 | ocp | USER | RANDOM | FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3 |

系统租户不建议扩容为多zone。建议部署个test租户进行测试