已解决
Clickhouse设置多磁盘存储策略
来自网友在路上 191891提问 提问时间:2023-11-26 20:30:20阅读次数: 91
最佳答案 问答题库918位专家为你答疑解惑
设置多磁盘存储
clickhouse安装完成以后,配置了一个默认的存储空间, 这个只能配置一个目录,如果要使用多个磁盘目录,则需要配置磁盘组策略
查看当前的存储策略
select name, path, formatReadableSize(free_space) as free, formatReadableSize(total_space) as total, formatReadableSize(keep_free_space) as reserved from system.disks;
可以看到只有一个default
┌─name────┬─path─────────────────────┬─free─────┬─total────┬─reserved─┐
│ default │ /data06/clickhouse/ │ 1.54 TiB │ 1.82 TiB │ 0.00 B │
└─────────┴──────────────────────────┴──────────┴──────────┴──────────┘
准备好磁盘目录
mkdir /data01/clickhouse
mkdir /data02/clickhouse
mkdir /data03/clickhouse
mkdir /data04/clickhouse
mkdir /data05/clickhousechown -R clickhouse:clickhouse /data01/clickhouse
chown -R clickhouse:clickhouse /data02/clickhouse
chown -R clickhouse:clickhouse /data03/clickhouse
chown -R clickhouse:clickhouse /data04/clickhouse
chown -R clickhouse:clickhouse /data05/clickhouse
添加配置
添加配置到/etc/clickhouse-server/config.xml 中
<storage_configuration><disks><disk_hot1> <!-- 自定义磁盘名称 --><path>/data01/clickhouse/</path></disk_hot1> <disk_hot2><path>/data02/clickhouse/</path></disk_hot2><disk_hot3><path>/data03/clickhouse/</path></disk_hot3><disk_hot4><path>/data04/clickhouse/</path></disk_hot4><disk_hot5><path>/data05/clickhouse/</path></disk_hot5><disk_cold><path>/root/clickhouse_storage/cold/</path> <keep_free_space_bytes>1073741824</keep_free_space_bytes></disk_cold></disks><policies><jbod_police> <!-- 自定义策略名称 --><volumes><jbod> <!-- 自定义磁盘组名称 --><disk>disk_hot1</disk><disk>disk_hot2</disk><disk>disk_hot3</disk><disk>disk_hot4</disk><disk>disk_hot5</disk></jbod></volumes></jbod_police><hot_cold_police><volumes><hot><disk>disk_hot1</disk> <disk>disk_hot2</disk> <max_data_part_size_bytes>1048576</max_data_part_size_bytes></hot><cold><disk>disk_cold</disk></cold></volumes><move_factor>0.2</move_factor></hot_cold_police></policies></storage_configuration>
- keep_free_space_bytes:选填项,表示不被使用的磁盘空间大小
- jbod策略只需要配置一个磁盘组,part(如202107_0_0_0)储存轮询每个disk;适用于挂载了多块磁盘,但未配置RAID
- hot/cold策略配置hot和cold两个磁盘组, part未超过(max_data_part_size_bytes[选填项] * move_factor[选填项, 默认0.1])则储存在hot磁盘组,超过则储存在cold磁盘组;适用于挂载了SSD和HDD磁盘
- 磁盘策略可以配置多个
配置生效
依次重启每个节点:
/etc/init.d/clickhouse-server restart
再看磁盘disk就有多个了:
:) select name, path, formatReadableSize(free_space) as free, formatReadableSize(total_space) as total, formatReadableSize(keep_free_space) as reserved from system.disks;┌─name──────┬─path─────────────────────┬─free─────┬─total────┬─reserved─┐
│ default │ /data03/clickhouse/ │ 1.54 TiB │ 1.82 TiB │ 0.00 B │
│ disk_hot1 │ /data06/clickhouse/ │ 1.58 TiB │ 1.82 TiB │ 0.00 B │
│ disk_hot2 │ /data07/clickhouse/ │ 1.61 TiB │ 1.82 TiB │ 0.00 B │
│ disk_hot3 │ /data08/clickhouse/ │ 1.58 TiB │ 1.82 TiB │ 0.00 B │
│ disk_hot4 │ /data09/clickhouse/ │ 1.58 TiB │ 1.82 TiB │ 0.00 B │
│ disk_hot5 │ /data10/clickhouse/ │ 1.60 TiB │ 1.82 TiB │ 0.00 B │
└───────────┴──────────────────────────┴──────────┴──────────┴──────────┘
存储策略也可以看到了,这个存储策略在建表的时候,可以指定
:) select policy_name, volume_name, volume_priority, disks, formatReadableSize(max_data_part_size) max_data_part_size, move_factor from system.storage_policies;┌─policy_name─┬─volume_name─┬─volume_priority─┬─disks─────────────────────────────────────────────────────────┬─max_data_part_size─┬─move_factor─┐
│ default │ default │ 1 │ ['default'] │ 0.00 B │ 0 │
│ jbod_police │ jbod │ 1 │ ['disk_hot1','disk_hot2','disk_hot3','disk_hot4','disk_hot5'] │ 0.00 B │ 0.1 │
└─────────────┴─────────────┴─────────────────┴───────────────────────────────────────────────────────────────┴────────────────────┴─────────────┘
查看全文
99%的人还看了
相似问题
- Clickhouse设置多磁盘存储策略
- 【Linux】缓冲区+磁盘+动静态库
- 【实用技巧】更改ArduinoIDE默认库文件位置,解放系统盘,将Arduino15中的库文件移动到其他磁盘
- 服务器数据恢复—服务器raid5离线磁盘上线同步失败的数据恢复案例
- 【操作系统】磁盘物理地址怎么表示
- Linux centos系统中添加磁盘
- 【面经】如何查看服务器内存和磁盘空间占用
- macOS磁盘分区调整软件--Paragon Camptune X 中文
- ubuntu22.04桌面完整版配置WiFi方法(后来发现这个方法是错误的)(修改磁盘文件方式--不需要显示器)
- 从物理磁盘到数据库 —— 存储IO链路访问图
猜你感兴趣
版权申明
本文"Clickhouse设置多磁盘存储策略":http://eshow365.cn/6-42173-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!