1.概述
最近让运维同学新搭了一个clickhouse集群,每台服务器都配置了多块磁盘,但是使用的时候还是按照以前的方式是使用的,导致系统盘空间不够。特此记录一下配置和使用方法。
2.集群配置
执行lsblk命令,可以看到本地机器的磁盘信息:
**
主要需要修改的地方是config.xml文件,在配置文件中插入以下格式的语句:
1 | <!-- 存储路径 --> |
disks设置磁盘的名字和路径,名字可以随意取。
policies是存储策略,建表的时候配置这个可以告知集群使用那个存储方式和路径。policy_name_1这个可以随意取名,相当于一个标识。
重启ClickHouse,运行下面的语句可以发现ClickHouse已经感知到了新增的磁盘。
1 | SELECT |

3.使用方法
ClickHouse会有一个名为“default”的磁盘,该磁盘指向config.xml中的data目录路径。还有一个相应的策略称为“default”。默认路径为:/var/lib/clickhouse。如果不指定存储策略,会使用默认的default策略,所有数据都存在默认路径下。
使用多个策略也很简单,只需要在新表上添加一个SETTINGS storage_policy =‘policy_name_1’;如果有多个SETTING,使用逗号隔开就好了,例如:SETTINGS index_granularity = 8192,storage_policy =‘policy_name_1’。
查询一下数据落盘情况:
1 | SELECT table,disk_name,path |