物化视图合并出错导致clickhouse无法登录解决方案

 异常信息:Application: DB::Exception: The local set of parts of table dpaas_db.`.inner_id.e4ff56c1-bc3c-4364-a4ff-56c1bc3ca364` (3dc412c8-1bed-4c6e-bdc4-12c81bedcc6e) doesn't look like the set of parts in ZooKeeper:

解决方案:

1、查看parts所在目录

SELECT path FROM system.parts WHERE database = 'dpaas_db' AND table = '.inner_id.e4ff56c1-bc3c-4364-a4ff-56c1bc3ca364';

结果比如是:

/var/lib/clickhouse/store/3dc/3dc412c8-1bed-4c6e-bdc4-12c81bedcc6e/20250313_1_76_22/
/var/lib/clickhouse/store/3dc/3dc412c8-1bed-4c6e-bdc4-12c81bedcc6e/20250313_1_76_23/

2、根据上面找到的目录,进入问题节点所在目录,将目录下文件删除(可以先移动到别的地方,方便恢复)

比如上面,清空问题节点下 /var/lib/clickhouse/store/3dc/3dc412c8-1bed-4c6e-bdc4-12c81bedcc6e/ 下的所有文件夹

最后重新登录,发现就可以登录了。 然后查看文件夹下文件,会被副本自动填充。

 

PS:如果集群都能正常登录,只是分片数据不同步,可以手动触发合并,例如:

OPTIMIZE TABLE dpaas_db.`dws_mall_cont_item_df_part` ON cluster test_cluster FINAL; --手动触发合并

select * from system.merges where database = 'dpaas_db'  and table = 'dws_mall_cont_item_df_part'; --查看合并进度

posted @ 2025-03-13 20:15  数据驱动  阅读(40)  评论(0)    收藏  举报