clickhouse 配置项解析

网友投稿 1267 2022-05-29

config.xml

max_table_size_to_drop

此参数在 /etc/ClickHouse-server/config.xml 中,应用于需要删除表或分区的情况,默认是50GB,意思是如果删除50GB以上的分区表会失败。建议修改为0,这样不管多大的分区表都可以删除

max_concurrent_queries

最大并发查询限制,默认100

users.xml

max_memory_usage

此参数在 /etc/clickhouse-server/config.xml 中,表示单次Query占用内存最大值,超过的话会查询失败。建议尽量调大一些,同时保留一点给 OS

max_bytes_before_external_group_by

min_insert_block_size_rows=8192, min_insert_block_size_bytes

聚合需要分两个阶段进行:1.查询并且建立中间数据 2.合并中间数据。

数据“溢出”到磁盘一般发生在第一个阶段,如果没有发生数据“溢出”,ClickHouse在阶段1和阶段2可能需要相同数量的内存

建议将max_memory_usage设置为max_bytes_before_external_group_by大小的两倍

max_bytes_before_external_sort

与 max_bytes_before_external_group_by 类似,只不过将 group 换成了 sort

max_threads

设置单个查询所能使用的最大线程个数,默认是CPU的核数 ‘auto(4)’

background_pool_size

clickhouse 配置项解析

后台线程池的大小,merge线程就是在该线程池中执行,该线程池不仅仅是给merge线程用的,默认值16,允许的前提下建议改成cpu个数的2倍(线程数)

background_schedule_pool_size

执行后台任务(复制表、Kafka流、DNS缓存更新)的线程数。默认128, 建议改成cpu个数的 16 倍(线程数)

background_distributed_schedule_pool_size

设置为分布式发送执行后台任务的线程数,默认16,建议改成cpu个数的2倍(线程数)

max_partitions_per_insert_block

限制单个插入块中的最大分区数。默认值:100,填0表示不限制。一旦单个SQL插入的数据分区块数大于max_partitions_per_insert_block,就会报错 Too many partitions for single INSERT block

补充

system库里面的表都不是复制表 直接set只会在当前server生效

distribution查询的时候会传递的,最终这些set其实全部保存在client端。随着每个query走的(修改了一个server端,那么client查询会默认将参数传递)

任务调度

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:腰肌劳损康复指南
下一篇:2021年大数据Spark(二):四大特点
相关文章