配置文件的更改,对于某些配置如集群配置以及用户配置等,更改后会自动生效,无需重启
ClickHouse服务,而对于其它配置项的更改可能需要重启服务才能生效。
对于集群中的全部ClickHouse节点,除部分配置(如macros)外,其它所有的配置最好都保持一
致,以便于统一管理及使用。
2、数据路径配置
数据路径下既存储数据库和表的元数据信息(位于metadata目录)也存储表的真实数据(位于
data目录)。元数据是指建库和建表的语句,亦即数据库和表的结构信息,每次ClickHouse启动时
会根据元数据信息去加载相应的数据库和表。
数据路径的配置如下所示,其对应的XML标签为。
当单个物理盘无法存储全部的数据时,可以考虑将不同的数据库存储在不同的物理盘上,然后
在/path/to/clickhouse/data/目录下创建软连接指向其它物理盘上的数据库目录。
3、日志配置
ClickHouse的日志文件中记录了各种类型的事件日志,包括数据的插入和查询的日志以及一些配置和数
据合并相关的日志等。一般我们会通过日志文件找出ClickHouse报错的具体原因,以便解决问题。
日志的配置如下所示,其对应的XML标签为
level表示事件的日志级别,可以配置为trace,debug,information,warning,error等值
log表示主日志文件路径,该日志文件中包含所有level级别以上的事件日志
errorlog表示错误日志文件路径,该日志文件仅包含错误日志,便于问题排查
size表示日志大小,当日志文件达到指定size后,ClickHouse会进行日志轮转
count表示日志轮转的最大数量
事件日志是由多线程异步写入到日志文件中的,所以不同事件之间的日志会产生交错,不利于按顺序进
行日志排查。但ClickHouse为每个事件都提供了唯一的ID来标识,我们可以根据此ID来跟踪事件状态的
变化
4、集群配置
集群的配置主要用于分布式查询,在创建分布式表(Distributed)时会用到。
集群配置文件的示例如下所示,其对应的XML标签为
<logger>
<level>trace</level>
<log>/path/to/clickhouse-server/clickhouse-server.log</log>
<errorlog>/path/to/clickhouse-server/clickhouse-server.err.log</errorlog>
<size>1000M</size>
<count>10</count>
</logger>