ClickHouse数据目录迁移 您所在的位置:网站首页 clickhouse修改数据存储位置 ClickHouse数据目录迁移

ClickHouse数据目录迁移

2024-07-16 20:43| 来源: 网络整理| 查看: 265

当数据量达到一定值时,磁盘存储空间不足,需要进行磁盘数据迁移,这个时候就需要更改clickhouse原有的数据目录

1.修改clickhouse的config.xml文件的数据目录存储标签

将/var/lib/clickhouse原有数据目录更改为我想要的数据目录,这里我将/var/lib/clickhouse目录替换成了/mnt/clickhouse_data

2.整体替换/var/lib/clickhouse为/mnt/clickhouse_data后

将原有的clickhouse下的目录复制到新目录下

cp /var/lib/clickhouse/ -a /mnt mv clickhouse/ clickhouse_data #权限修改 chmod 777 -R clickhouse_data 可有可无 chown -R clickhouse:clickhouse clickhouse_data 重启clickhouse /etc/init.d/clickhouse-server restart 测试 clickhouse-client --password '123456' create default.table test(id Int) engine=MergeTree order by id 查看/mnt/clickhouse_data/data/default下的test表软连接是否指向新目录下的store存储分区

3.以上适合初始化数据盘后,clickhouse还没有存数据的情况,如果clickhouse已经存储数据后,想要做数据盘迁移的话,可以试试,先更改存储路径,保证新表的存储是在新盘里

然后生成新的表来rename

create table test_new engine=MergeTree order by id select * from test; drop table test; rename table test_new to test;

然后整体表都这样操作就可以了,对原有的数据进行数据删除,新版本的ck应该满足数据软连接重新指向,老版本可能出现数据表软连接没有改变的情况,更改数据目录后,data下的软连接还是指向/var/lib下的store分区,可以试试使用rename这种方式

更老的版本可能不存在store目录的情况,数据就是存储在data目录下

4.老版本数据迁移到新版本

将老版本的data下的数据目录,整体打包到新版本的clickhouse的user_files

cd user_files chmod 777 -R test chown -R clickhouse:clickhouse test ATTACH TABLE test from '/mnt/clickhouse_data/user_files/test'(`id` String) ENGINE = MergeTree ORDER BY ifNuLL(id, '') SETTINGS index_granularity = 8192 使用ATTACH的方式将test的目录重新落盘 当然从老版本复制数据的时候,要保证数据没有被DDL,增删改.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有