ClickHouse更改数据文件目录
ClickHouse更改数据文件目录
除了软链接之外,网上没找到特别准确更改CK数据文件目录的文章。
软链接那种也不推荐,实际上数据字典的目录还是原来的,只不过原来的目录做了层快捷方式到新目录。相当于多了个故障点。
实际更改也并不复杂,如下:
1.默认的数据目录包含在/var/lib/clickhouse中,将该文件夹移动到需要更改的新目录,假设为/clickhouse。
vi /etc/clickhouse-server/config.xml 更改全部的/var/lib/clickhouse改为/clickhouse
2.停止数据库服务
[root@szceb-ck01 ~]# /etc/init.d/clickhouse-server stop
3.移动位置
[root@szceb-ck01 ~]# mv /var/lib/clickhouse /
4.查看metadata目录下原有全部库的软链接
[root@szceb-ck01 ~]# cd /clickhouse/metadata [root@szceb-ck01 metadata]# ll total 20 lrwxrwxrwx 1 clickhouse clickhouse 67 Jun 17 11:04 default -> /var/lib/clickhouse/store/d62/d62f0212-2505-4257-87ed-3d35e7486fa1/ -rw-r----- 1 clickhouse clickhouse 78 Jun 17 11:04 default.sql drwxr-x--- 2 clickhouse clickhouse 6 Jun 17 11:04 information_schema drwxr-x--- 2 clickhouse clickhouse 6 Jun 17 11:04 INFORMATION_SCHEMA -rw-r----- 1 clickhouse clickhouse 51 Jun 17 11:04 information_schema.sql -rw-r----- 1 clickhouse clickhouse 51 Jun 17 11:04 INFORMATION_SCHEMA.sql lrwxrwxrwx 1 clickhouse clickhouse 67 Jun 17 11:04 system -> /var/lib/clickhouse/store/8a1/8a14d4ab-3d9d-45d6-86db-ed0e58115b53/ -rw-r----- 1 clickhouse clickhouse 78 Jun 17 11:04 system.sql lrwxrwxrwx 1 clickhouse clickhouse 67 Jun 17 14:48 traffic -> /var/lib/clickhouse/store/59a/59a29a98-284f-4c99-b0af-8a73bba2d395/ -rw-r----- 1 clickhouse clickhouse 78 Jun 17 14:48 traffic.sql
说明:这些是原来库自动创建的软链接,以default为例子:default实际指向还是/var/lib/clickhouse/.../.../,需要重置为新位置的目录。
由于步骤3导致/var/lib/clickhouse/.../.../的目录不存在,在SecureCRT工具下ll查看的时候有问题的软链接会呈现闪烁状态。
5.重置metadata目录库的软链接指向
[root@szceb-ck01 metadata]# unlink system [root@szceb-ck01 metadata]# unlink traffic [root@szceb-ck01 metadata]# unlink default [root@szceb-ck01 metadata]# ln -s /clickhouse/store/d62/d62f0212-2505-4257-87ed-3d35e7486fa1/ default [root@szceb-ck01 metadata]# ln -s /clickhouse/store/8a1/8a14d4ab-3d9d-45d6-86db-ed0e58115b53/ system [root@szceb-ck01 metadata]# ln -s /clickhouse/store/59a/59a29a98-284f-4c99-b0af-8a73bba2d395/ traffic [root@szceb-ck01 metadata]# chown -h clickhouse:clickhouse system traffic default
注意,chown一定要加上-h参数,不然更改的权限目标实际上是软链接对应的真正的位置。
6.查看data目录下全部库的全部表的原有软链接
[root@sztraffic-ck01 ~]# cd /clickhouse/data/ [root@sztraffic-ck01 data]# ll total 0 drwxr-x--- 2 clickhouse clickhouse 35 Oct 13 15:17 traffic drwxr-x--- 2 clickhouse clickhouse 6 Jun 9 10:06 default drwxr-x--- 2 clickhouse clickhouse 132 Oct 13 11:20 system [root@sztraffic-ck01 data]# cd traffic [root@sztraffic-ck01 traffic]# ll total 0 lrwxrwxrwx 1 root root 67 Oct 13 15:17 T_E_RETURN_INFO_LOCAL -> /var/lib/clickhouse/store/015/015d070a-d9b5-4b41-87b4-f2d142bfac74/
注意,/clickhouse/data下为当前ck软件下所拥有的所有库,一个库为一个目录。
每个库,即每个目录下为每个表名称,为软链接。
所有库的所有表的软链接也需要重置。
7.重置data目录全部库下所有表的软链接指向(以步骤6中的traffic为例子)
[root@sztraffic-ck01 traffic]# unlink T_E_RETURN_INFO_LOCAL [root@sztraffic-ck01 traffic]# ln -s /clickhouse/store/015/015d070a-d9b5-4b41-87b4-f2d142bfac74/ T_E_RETURN_INFO_LOCAL [root@sztraffic-ck01 traffic]# chown -h clickhouse:clickhouse T_E_RETURN_INFO_LOCAL
只给出traffic的例子,其他库省略。
8.启动数据库
[root@szceb-ck01 ~]# /etc/init.d/clickhouse-server start
9.查看数据字典
szceb-ck01 :) select * from system.databases; SELECT * FROM system.databases Query id: 18ef56c3-2cfa-4eff-8cb7-6d8e748c7ac1 ┌─name───────────────┬─engine─┬─data_path──────────┬─metadata_path───────────────────────────────────────────────┬─uuid─────────────────────────────────┬─comment─┐ │ INFORMATION_SCHEMA │ Memory │ /clickhouse/ │ │ 00000000-0000-0000-0000-000000000000 │ │ │ default │ Atomic │ /clickhouse/store/ │ /clickhouse/store/d62/d62f0212-2505-4257-87ed-3d35e7486fa1/ │ d62f0212-2505-4257-87ed-3d35e7486fa1 │ │ │ information_schema │ Memory │ /clickhouse/ │ │ 00000000-0000-0000-0000-000000000000 │ │ │ system │ Atomic │ /clickhouse/store/ │ /clickhouse/store/8a1/8a14d4ab-3d9d-45d6-86db-ed0e58115b53/ │ 8a14d4ab-3d9d-45d6-86db-ed0e58115b53 │ │ │ traffic │ Atomic │ /clickhouse/store/ │ /clickhouse/store/906/59a29a98-284f-4c99-b0af-8a73bba2d395/ │ 906023dc-f646-4d93-8cbb-f5ae8a1f0482 │ │ └────────────────────┴────────┴────────────────────┴─────────────────────────────────────────────────────────────┴──────────────────────────────────────┴─────────┘ 5 rows in set. Elapsed: 0.003 sec.