clickhouseclickhouse配置多块磁盘
Posted 九师兄
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了clickhouseclickhouse配置多块磁盘相关的知识,希望对你有一定的参考价值。
1.概述
最近让运维同学新搭了一个clickhouse集群,每台服务器都配置了多块磁盘,但是使用的时候还是按照以前的方式是使用的,导致系统盘空间不够。特此记录一下配置和使用方法。
2.集群配置
执行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
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’。
查询一下数据落盘情况:
SELECT table,disk_name,path
FROM system.parts
where table = 'bi_money_list'
以上是关于clickhouseclickhouse配置多块磁盘的主要内容,如果未能解决你的问题,请参考以下文章
clickhouseclickhouse 主从配置 从节点无数据
clickhouseclickhouse表引擎之 kafka 表引擎 卡死
clickhouseClickHouse基础实践调优全视角解析
clickhouseclickhouse 副本与分片 副本详解