由於本人失誤,沒有修改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里的數據目錄的情況下,實現數據轉移到其他盤。