由于本人失误,没有修改clickhouse的默认数据目录,导致把数据保存到了系统盘,现在系统盘空间不够,决定移动到数据盘,步骤如下:
原目录:/var/lib/clickhouse
目标目录:/test/clickhouse
1、复制数据
cp /var/lib/clickhouse/data -r /test/clickhouse
cp /var/lib/clickhouse/flags -r /test/clickhouse
cp /var/lib/clickhouse/format_schemas -r /test/clickhouse
cp /var/lib/clickhouse/metadata -r /test/clickhouse
cp /var/lib/clickhouse/preprocessed_configs -r /test/clickhouse
cp /var/lib/clickhouse/tmp -r /test/clickhouse
cp /var/lib/clickhouse/user_files -r /test/clickhouse
2、在目录/var/lib/clickhouse删除
rm -r data
rm -r flags/
rm -r format_schemas/
rm -r metadata/
rm -r preprocessed_configs/
rm -r tmp
rm -r user_files/
3、建立软连接
ln -s /test/clickhouse/data /var/lib/clickhouse
ln -s /test/clickhouse/flags /var/lib/clickhouse
ln -s /test/clickhouse/format_schemas /var/lib/clickhouse
ln -s /test/clickhouse/metadata /var/lib/clickhouse
ln -s /test/clickhouse/preprocessed_configs /var/lib/clickhouse
ln -s /test/clickhouse/tmp /var/lib/clickhouse
ln -s /test/clickhouse/user_files /var/lib/clickhouse
4、给test/clickhouse目录权限
chown -R clickhouse.clickhouse /test/clickhouse
完成。
通过这四步, 可以在不修改config.xml里的数据目录的情况下,实现数据转移到其他盘。