max_table_size_to_drop
此参数在/etc/ClickHouse/config.xml中,应用于需要删除表或分区的情况,默认是50GB,意思是如果删除50GB以上的分区表会失败。建议修改为0,这样不管多大的分区表都可以删除。
max_memory_usage
此参数在/etc/ClickHouse/config.xml中,表示单次Query占用内存最大值,超过的话会查询失败。建议尽量调大一些。
删除多个节点的同一张表
需要用到on cluster
关键字:
drop table 表名 on cluster clickhouse集群名称
自动数据备份
只有MergeTree系列里的表可支持副本,在表引擎名称上加上Replicated前缀,例如ReplicatedMergeTree。
同时必须配置zookeeper,在/etc/metrika.xml中加入相应配置:
vi /etc/metrika.xml
<yandex>
<!-- 备份节点信息 -->
<clickhouse_remote_servers>
// ClickHouse集群名称
<perftest_3shards_1replicas>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>ch1</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<internal_replication>true</internal_replication>
<host>ch2</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>ch3</host>
<port>9000</port>
</replica>
</shard>
</perftest_3shards_1replicas>
</clickhouse_remote_servers>
<!-- zookeeper配置信息 -->
<zookeeper-servers>
<node index="1">
<host>ch1</host>
<port>2181</port>
</node>
<node index="2">
<host>ch2</host>
<port>2181</port>
</node>
<node index="3">
<host>ch3</host>
<port>2181</port>
</node>
</zookeeper-servers>
// 备份配置,一般不同节点上配置都不同
<macros>
// 分片数量
<shard>1</shard>
// 副本数量
<replica>2</replica>
</macros>
<networks>
<ip>::/0</ip>
</networks>
<clickhouse_compression>
<case>
<min_part_size>10000000000</min_part_size>
<min_part_size_ratio>0.01</min_part_size_ratio>
<method>lz4</method>
</case>
</clickhouse_compression>
</yandex>
实例:
create table table_name
(
...
)
ENGINE=ReplicatedMergeTree('/clickhouse/tables/{shard}/table_name',{replica})
...
/clickhouse/tables
是公共前缀,{shard}/{replica}
会自动获取metrika.xml中的配置。