表格存储服务 CLOUDTABLE-怎么删除ClickHouse集群ZooKeeper节点的副本表格?:处理方法

时间:2024-08-16 09:57:04

处理方法

删除其他节点上的表格以及存放的数据,可解决此问题。

  1. 创建数据库。

    create database demo ON CLUSTER default_cluster;

  2. 使用数据库,在新建的数据库中创建表。

    use demo;

    创建表test。

    CREATE TABLE demo.test ON CLUSTER default_cluster(`EventDate` DateTime, `id` UInt64)ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/default/test', '{replica}') PARTITION BY toYYYYMM(EventDate) ORDER BY id;

  3. 删除表格。

    drop table test SYNC;

  4. 再次创建同名表格,出现以下现象。

    ┌─host──────────┬─port─┬─status─┬─error──────────────────────────────────────────────────────────────────────────────────────────────┬─num_hosts_remaining─┬─num_hosts_active─┐
    │ 192.168.2.185 │ 9000 │     57 │ Code: 57. DB::Exception: Table demo.test already exists. (TABLE_ALREADY_EXISTS) (version 22.3.2.1) │                   1 │                1 │
    └───────────────┴──────┴────────┴────────────────────────────────────────────────────────────────────────────────────────────────────┴─────────────────────┴──────────────────┘
    ┌─host─────────┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐
    │ 192.168.2.16 │ 9000 │      0 │       │                   0 │                0 │
    └──────────────┴──────┴────────┴───────┴─────────────────────┴──────────────────┘

  5. 方法一:用以下删除命令会删除每个节点上的表以及存放的相关数据。

    drop table test ON CLUSTER default_cluster SYNC;

    创建同名表格,创建成功。

  6. 方法二:进入其他节点删除表格。

    drop table test SYNC;

support.huaweicloud.com/cloudtable_faq/cloudtable_faq_0053.html