Clickhouse默认是安装到/var/lib/clickhouse目录下,很容易将根目录空间占满。通过修改配置文件,将数据目录指向新的位置,并将数据迁移到新目录来解决空间问题。
目录导航
环境
默认的根目录只有6G空间,已经无法做测试。新增加了一个/data的卷,计划将数据迁移过去。
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 479M 0 479M 0% /dev
tmpfs 496M 0 496M 0% /dev/shm
tmpfs 496M 7.8M 488M 2% /run
tmpfs 496M 0 496M 0% /sys/fs/cgroup
/dev/mapper/centos-root 6.2G 5.8G 409M 94% /
/dev/sda1 1014M 172M 843M 17% /boot
tmpfs 100M 40K 100M 1% /run/user/0
/dev/sda3 71G 6.4G 61G 10% /data
停止数据库
先将数据库停下来
systemctl stop clickhouse-server
修改目录权限
注意新的目录,比如/data必须有读取和执行权限。如果有子目录,记得一起修改
chmod a+rx /data
迁移数据
将整个目录,建议不单单是data目录,迁移到新的目录下。
mv /var/lib/clickhouse /data/
修改配置文件
修改配置文件里的和/var/lib/clickhouse有关的配置,替换为/data/clickhouse即可。我这里用了sed命令。
sed -i 's/var\/lib\/clickhouse/data\/clickhouse/g' /etc/clickhouse-server/config.xml
启动数据库
systemctl start clickhouse-server.service
确认正常使用
[root@localhost data]# clickhouse-client
ClickHouse client version 21.4.5.46 (official build).
Connecting to localhost:9000 as user default.
Connected to ClickHouse server version 21.4.5 revision 54447.