转载:clickhouse配置多块磁盘
最近让运维同学新搭了一个clickhouse集群,每台服务器都配置了多块磁盘,但是使用的时候还是按照以前的方式是使用的,导致系统盘空间不够。特此记录一下配置和使用方法。
执行lsblk
命令,可以看到本地机器的磁盘信息:
主要需要修改的地方是config.xml文件,在配置文件中插入以下格式的语句:
<!-- 存储路径 -->
<storage_configuration>
<disks>
<disk_name_0>
<path>/data1/clickhouse/</path>
</disk_name_0>
<disk_name_1>
<path>/data2/clickhouse/</path>
</disk_name_1>
<disk_name_2>
<path>/data3/clickhouse/</path>
</disk_name_2>
<disk_name_3>
<path>/data4/clickhouse/</path>
</disk_name_3>
<disk_name_4>
<path>/data5/clickhouse/</path>
</disk_name_4>
<disk_name_5>
<path>/data6/clickhouse/</path>
</disk_name_5>
</disks>
<policies>
<policy_name_1>
<volumes>
<volume_name_0>
<disk>disk_name_0</disk>
<disk>disk_name_1</disk>
<disk>disk_name_2</disk>
<disk>disk_name_3</disk>
<disk>disk_name_4</disk>
<disk>disk_name_5</disk>
</volume_name_0>
</volumes>
</policy_name_1>
</policies>
</storage_configuration>
disks
设置磁盘的名字和路径,名字可以随意取。
policies
是存储策略,建表的时候配置这个可以告知集群使用那个存储方式和路径。policy_name_1
这个可以随意取名,相当于一个标识。
重启ClickHouse,运行下面的语句可以发现ClickHouse已经感知到了新增的磁盘。
SELECT
name,path,formatReadableSize(free_space) AS free,
formatReadableSize(total_space) AS total,
formatReadableSize(keep_free_space) AS reserved
FROM system.disks
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’。
查询一下数据落盘情况:
SELECT table,disk_name,path
FROM system.parts
where table = 'bi_money_list'
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qq_21383435/article/details/121713611
内容来源于网络,如有侵权,请联系作者删除!