ClickHouse® cluster configuration
-
How do I create a user to access a cluster from DataLens with read-only permissions?
-
How do I grant a user permissions to create and delete tables or databases?
-
Why must a Managed Service for ClickHouse® cluster have three or five ZooKeeper hosts?
How do I create a user to access a cluster from DataLens with read-only permissions?
Follow this guide to create a user with read-only permissions. With DataLens access option enabled in the cluster settings, Managed Service for ClickHouse® can connect to the cluster using the created user.
How do I grant a user permissions to create and delete tables or databases?
Go to the cluster settings, enable User management via SQL, and grant the user the appropriate permissions using the GRANT statement
How do I find out the internal_replication setting value?
The internal_replication setting information is not available in Yandex Cloud interfaces or ClickHouse® system tables. The default setting value is true.
How do I increase the maximum amount of RAM to run a query?
If you do not have enough RAM to run a query, you will see the following error:
DB::Exception: Memory limit (total) exceeded:
would use 14.10 GiB (attempt to allocate chunk of 4219924 bytes), maximum: 14.10 GiB.
(MEMORY_LIMIT_EXCEEDED), Stack trace (when copying this message, always include the lines below)
To increase the maximum amount of RAM, use the Max memory usage parameter.
If user management via SQL is enabled for the cluster, you can set the Max memory usage parameter:
-
For the current user session by running this query:
SET max_memory_usage = <value_in_bytes>; -
For all default users by creating a settings profile
.
Why must a Managed Service for ClickHouse® cluster have three or five ZooKeeper hosts?
ZooKeeper uses the consensus algorithm: it keeps on running as long as most ZooKeeper hosts are healthy.
For example, if a cluster has two ZooKeeper hosts, then, should one of them stop, the remaining host will not form the majority, so the service will become unavailable. This means that a cluster with two ZooKeeper hosts is not fault-tolerant.
A cluster with three ZooKeeper hosts, on the other hand, is fault-tolerant. When one of its hosts is down or under maintenance, the cluster remains operational. Therefore, three is the minimum recommended number of ZooKeeper hosts per Managed Service for ClickHouse® cluster.
A cluster with four ZooKeeper hosts has no advantages over a three-host cluster: it will also remain operational if only one of its hosts fails. With two hosts down, the consensus is not met, so the service becomes unavailable.
A cluster with five ZooKeeper hosts is resilient enough to keep running without two of its hosts, three hosts out of five still forming the majority. This is why this cluster is easier to maintain than a three-host cluster. Even if one host out of five is under maintenance or restarting, the cluster remains fault-tolerant, i.e., it can lose one more host and still be operational.
Usually, adding more than five ZooKeeper hosts to a cluster is not feasible. The more ZooKeeper hosts, the longer their interaction times, and therefore the slower the service.
Thus, we recommend creating three or five ZooKeeper hosts per Managed Service for ClickHouse® cluster.
ClickHouse® is a registered trademark of ClickHouse, Inc