【问题标题】:ClickHouse: How to find databases under a certain cluster?ClickHouse:如何查找某个集群下的数据库?
【发布时间】:2020-06-28 13:40:07
【问题描述】:

我有一个 clickhouse,两个集群部署在同一台机器上,例如

clickhouse :) select * from system.clusters;

SELECT *
FROM system.clusters 

┌─cluster────────────────────┬─shard_num─┬─shard_weight─┬─replica_num─┬─host_name─┬─host_address─┬─port─┬─is_local─┬─user────┬─default_database─┐
│ cluster-********           │         1 │            1 │           1 │ ******* │ *.*.*.* │ 9000 │        1 │ default │                  │
│ cluster-********           │         1 │            1 │           2 │ ******* │ *.*.*.* │ 9000 │        1 │ default │                  │
│ cluster-********           │         2 │            1 │           1 │ ******* │ *.*.*.* │ 9000 │        0 │ default │                  │
│ cluster-********           │         2 │            1 │           2 │ ******* │ *.*.*.* │ 9000 │        0 │ default │                  │
│ cluster-********-********* │         1 │            1 │           1 │ ******* │ *.*.*.* │ 9000 │        1 │ default │                  │
│ cluster-********-********* │         2 │            1 │           1 │ ******* │ *.*.*.* │ 9000 │        0 │ default │                  │
│ cluster-********-********* │         3 │            1 │           1 │ ******* │ *.*.*.* │ 9000 │        0 │ default │                  │
│ cluster-********-********* │         4 │            1 │           1 │ ******* │ *.*.*.* │ 9000 │        0 │ default │                  │
└────────────────────────────┴───────────┴──────────────┴─────────────┴────────────────────────────┴──────────────┴──────┴──────────┴─────────┴──────────────────┘

8 rows in set. Elapsed: 0.004 sec. 

clickhouse :) select * from system.databases;

SELECT *
FROM system.databases 

┌─name─────────────────┬─engine───┬─data_path───────────────────────────────────┬─metadata_path───────────────────────────────────┐
│ default              │ Ordinary │ /data/clickhouse/data/default/              │ /data/clickhouse/metadata/default/              │
│ aaaaaaaaaaaaaaaaaaaa │ Ordinary │ /data/clickhouse/data/aaaaaaaaaaaaaaaaaaaa/ │ /data/clickhouse/metadata/aaaaaaaaaaaaaaaaaaaa/ │
│ bbbbb                │ Ordinary │ /data/clickhouse/data/bbbbb/                │ /data/clickhouse/metadata/bbbbb/                │
│ system               │ Ordinary │ /data/clickhouse/data/system/               │ /data/clickhouse/metadata/system/               │
└──────────────────────┴──────────┴─────────────────────────────────────────────┴─────────────────────────────────────────────────┘

4 rows in set. Elapsed: 0.001 sec. 

然后我想分析属于某个集群的所有数据库,但是表databases和clusters不包含任何关于集群-数据库关系的信息,那么如何找到哪些数据库属于某个集群,如果您有任何想法,请提供帮助。

【问题讨论】:

    标签: clickhouse


    【解决方案1】:

    数据库和表不属于集群。没有任何关系。 可以使用任何集群或不使用集群来查询表。

    【讨论】:

    • 非常感谢!但是当我们创建数据库时,有时在启用zookeeper时使用像on cluster这样的DDL,它也不属于任何集群?
    • on cluster 只是分布式 DDL 的帮助器,它需要执行创建命令的位置(哪些节点)并且不会影响表元数据。这不是强制性的。例如,我从不使用on cluster,因为我有自己的自动化。
    猜你喜欢
    • 2019-01-08
    • 1970-01-01
    • 2021-05-21
    • 2017-08-12
    • 2019-01-15
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    相关资源
    最近更新 更多