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 should 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 the guide to create a user with read-only permissions. If the cluster settings have the DataLens access option enabled, the service can connect to the cluster through this user.
How do I grant a user permissions to create and delete tables or databases?
Go to the cluster settings, enable the Managing users via SQL option, and grant the user the appropriate permissions using a 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 the amount of RAM is not sufficient for running a query, the following error occurs:
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 as follows:
-
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. Thus, a cluster with two ZooKeeper hosts has no fault tolerance.
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 a Managed Service for ClickHouse® cluster.
A cluster with four ZooKeeper hosts has no advantages over a three-host cluster: it is going to be just as 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 going without two of its hosts, three hosts out of five still forming the majority. This is why it is going to be more serviceable that 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.
Adding more than five ZooKeeper hosts to a cluster is not normally advisable. The more ZooKeeper hosts there are, the longer their interaction times, slowing the service down.
Therefore, we recommend creating three or five ZooKeeper hosts per a Managed Service for ClickHouse® cluster.
ClickHouse® is a registered trademark of ClickHouse, Inc