目标机不能移除集群

【产品名称】社区版OceanBase

【产品版本】3.1.1

【问题描述】集群模式为 2-2-2 想改为1-1-1,停止了OBS服务在执行移除命令一直卡着,开始是超时,超时调节以后就一直卡着不返回结果,有半个小时了,3个节点都一样不能移除,如图:

OB01.png (217235 KB)

有工程师协助解决下? 重启了下集群现在删除提示错误如下:

MySQL [oceanbase]> alter system delete server '172.20.2.118:3882' zone 'zone3';

ERROR 5157 (HY000): Unknown tenant


发一下 机器资源分布信息

select t1.name resource_pool_name, t2.`name` unit_config_name, t2.max_cpu, t2.min_cpu, t2.max_memory/1024/1024/1024 max_mem_gb, t2.min_memory/1024/1024/1024 min_mem_gb, t3.unit_id, t3.zone, concat(t3.svr_ip,':',t3.`svr_port`) observer,t4.tenant_id, 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 t1.`resource_pool_id`, t2.`unit_config_id`, t3.unit_id
;


判断一下在那个 机器上是否有业务租户数据。如果有,这个server 是不能删除的。

有什么办法删除,其实操作就相当于节点都宕机了,服务都起不了了,直接从集群移除不可以吗

delete操作会引起unit迁移,并且只有当observer上的数据清空后才能成功执行delete;

但是看你上面需要删除的机器都是inactive状态,应该是完不成迁移这个动作的。

可以尝试重拉那几个节点的ob进程,确保每个节点都可用后,如果同zone内另一个节点上的资源足够(足够容纳租户tenantsixlens)的话,执行以下命令:

1、alter system stop server 'ip' zone 'zone';

2、alter system delete server 'ip' zone 'zone';

如果资源不够,先删除租户tenantsixlens,再执行上面两句语句,不过这样会丢数据。

感谢工程师,问题已解决,您这两具体是怎么写的啊

1、alter system stop server 'ip' zone 'zone';    是 alter system stop server '172.20.2.116' zone 'zone';  还是

alter system stop server '172.20.2.116:2883' zone 'zone1';

2、alter system delete server 'ip' zone 'zone';   是 alter system delete server '172.20.2.116' zone 'zone';   还是

alter system delete server '172.20.2.116:3883' zone 'zone1';

我执行不成功,报错。我是 使用的如下方法可以了 

alter system stop server '172.20.2.116:3882';

alter system delete server '172.20.2.116:3882';

具体应该怎么写啊


嗯对,应该按照你的这个写,server 要指定ip和port,参考这个:

OceanBase 社区版

收到,感谢工程师!