ClickHouse新增磁盘
操作场景
随着业务量的增长,ClickHouse节点数据盘的磁盘容量已不能满足业务需求,需要增加数据盘磁盘数量。
前提条件
ClickHouse集群和实例状态正常。
操作步骤
- 登录MRS控制台,在左侧导航栏选择“集群列表 > 现有集群”,单击集群名称。
- 单击“节点管理”,在对应的ClickHouse节点组下,单击要增加磁盘的节点名称。
- 在“云硬盘”界面,单击“挂载磁盘”。
- 在“挂载磁盘”界面,选择“购买云硬盘”。
- 购买云硬盘,具体步骤请参见。
- 挂载云硬盘。
- 以root用户登录挂载磁盘的节点,初始化Linux数据盘,具体步骤根据实际情况参考或。
以下操作,以新建分区挂载目录为“/srv/BigData/data2”为例。
- 连接ClickHouse服务端,具体操作请参考从零开始使用ClickHouse。
- 执行以下SQL语句,查看当前ClickHouse感知到的磁盘目录。
SELECT
name,
path,
formatReadableSize(free_space) AS free,
formatReadableSize(total_space) AS total,
formatReadableSize(keep_free_space) AS reserved
FROM system.disks;
执行exit;退出ClickHouse服务端。
- 创建“/srv/BigData/data2/clickhouse”文件夹,修改挂载磁盘目录拥有者。
mkdir /srv/BigData/data2/clickhouse
chown -R omm:wheel /srv/BigData/data2/
- 参考访问FusionInsight Manager(MRS 3.x及之后版本),登录FusionInsight Manager。选择“集群 > ClickHouse > 配置 > 全部配置”。
- 搜索“_clickhouse.storage_configuration.disks”,在该配置项下,添加新增的ClickHouse数据目录。
- 首次添加新增的ClickHouse数据目录时需要删除原来的默认变量“${CH_DATA_PATH}”,再添加新增的数据目录。
- 添加多个目录之间需用“,”分隔,添加的目录以“/”结尾,格式为“/srv/BigData/data1/clickhouse/,...,/srv/BigData/dataN/clickhouse/”。
例如:在“/srv/BigData/data1/clickhouse/”基础上,添加新增的“,/srv/BigData/data2/clickhouse/”目录,添加完成后为“/srv/BigData/data1/clickhouse/,/srv/BigData/data2/clickhouse/”。
- 添加完新增目录后,单击“保存”保存配置。单击“概览”,选择“更多 > 同步配置”。
添加磁盘操作不需要重启ClickHouse服务,删除磁盘配置需要重启ClickHouse服务。
- 参考从零开始使用ClickHouse连接ClickHouse服务端,并执行以下命令查看新增磁盘以及存储策略是否生效。
SELECT * FROM system.storage_policies;
- 验证新建磁盘是否成功。
执行以下命令在ClickHouse服务端建表并插入数据,并查看数据落盘是否正确。
create table test(`id` Int32,`name` String) engine=MergeTree() order by id;
insert into test values(1,'aa'),(2,'bb'),(3,'cc');
select name, data_paths, storage_policy from system.tables where name = 'test';