【clickhouse】clickhouse配置多块磁盘

x33g5p2x  于2021-12-05 转载在 ClickHouse  
字(1.8k)|赞(0)|评价(0)|浏览(789)

1.概述

转载:clickhouse配置多块磁盘

最近让运维同学新搭了一个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'

相关文章

最新文章

更多