CnosDB 2.3.4:usage_schema与show vnode的vnodeid数量不一致,vnode69缺失
CnosDB 2.3.4中vnode在
show vnode中不可见的排查方案 问题场景
查询usage_schema.vnode_disk_storage表得到:
usage_schema ❯ select * from vnode_disk_storage where tenant = 'Tenant25Suborg23' order by time desc limit 20; +-------------------------------+----------+---------------------+------------------+----------+----------+ | time | database | node_id | tenant | vnode_id | value | +-------------------------------+----------+---------------------+------------------+----------+----------+ | 2024-02-23T03:09:05.153940748 | demoset | 1704972876971357965 | Tenant25Suborg23 | 78 | 0 | | 2024-02-23T03:09:05.153940398 | demoset | 1704972876971357965 | Tenant25Suborg23 | 69 | 0 | | 2024-02-23T03:09:05.153940028 | demoset | 1704972876971357965 | Tenant25Suborg23 | 66 | 13294250 |
执行show vnode仅返回:
public ❯ show vnode; +----------+---------------------+-----------+--------------------+---------------+------------------+---------------------+---------------------+---------+ | VNODE_ID | NODE_ID | BUCKET_ID | REPLICATION_SET_ID | DATABASE_NAME | TENANT_NAME | START_TIME | END_TIME | STATUS | +----------+---------------------+-----------+--------------------+---------------+------------------+---------------------+---------------------+---------+ | 66 | 1704972876971357965 | 64 | 65 | demoset | Tenant25Suborg23 | 1705536000000000000 | 1708128000000000000 | Running | | 78 | 1704972876971357965 | 76 | 77 | demoset | Tenant25Suborg23 | 1708128000000000000 | 1710720000000000000 | Running | +----------+---------------------+-----------+--------------------+---------------+------------------+---------------------+---------------------+---------+
vnode 69在vnode_disk_storage中存在,但show vnode无法查到,可按以下方向排查:
可能原因与解决步骤
历史监控数据残留
usage_schema下的监控表会保留历史数据,即使vnode已被销毁,历史记录仍会留存。而show vnode仅返回当前活跃的vnode。执行以下查询确认vnode 69的真实状态:SELECT * FROM system_schema.vnodes WHERE vnode_id = 69;若查询无结果,说明vnode 69已被回收,
vnode_disk_storage中的记录是历史监控数据。权限限制
当前执行show vnode的用户可能无该vnode的查看权限。切换至租户管理员账号重试,或检查当前用户权限:SHOW GRANTS FOR CURRENT_USER;元数据不一致
集群元数据可能出现同步异常,执行元数据修复命令后重新查询:ADMIN REPAIR METADATA;vnode处于非活跃状态
show vnode默认仅展示Running状态的vnode,查询全量vnode状态确认:SELECT * FROM system_schema.vnodes WHERE tenant_name = 'Tenant25Suborg23';若vnode 69的
status为Terminated或Deleted,则不会出现在show vnode结果中。
内容的提问来源于stack exchange,提问作者learn_more
相关产品推荐
相关产品推荐

