clickhouse 数据备份与恢复

Posted 逆风飞翔的小叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了clickhouse 数据备份与恢复相关的知识,希望对你有一定的参考价值。

一、前言

与其他的数据存储引擎类似,clickhouse承载着大数据量级的数据存储,对于数据的备份与恢复也是必须考虑的,本文将通过操作演示下如何对clickhouse数据进行备份与恢复。

官网说明: 官网备份操作说明

clickhouse可以通过手动进行数据恢复,也可以通过工具进行恢复;

二、clickhouse 数据手动备份与恢复演示

ClickHouse 允许使用 ALTER TABLE ... FREEZE PARTITION ... 查询以创建表分区的本地副本。
这是利用硬链接(hardlink)到 /var/lib/clickhouse/shadow/ 文件夹中实现的,所以它通常不会因为旧数据而占用额外的磁盘空间。 创建的文件副本不由 ClickHouse 服务器处理,所以不需要任何额外的外部系统就有一个简单的备份。防止硬件问题,最好将它们远程复制到另一个位置,然后删除本地副本。

在正式操作之前,再温馨提示下,clickhouse使用rpm的方式安装时,几个安装后的数据文件目录位置:

bin/    /usr/bin
conf/   /etc/clickhouse-server
lib/    /var/lib/clickhouse
log/    /var/log/clickhouse

我可以使用帮助二进制转储文件恢复数据库 clickhouse 吗?

【中文标题】我可以使用帮助二进制转储文件恢复数据库 clickhouse 吗?【英文标题】:Can I restore database clickhouse with help binary dump file? 【发布时间】:2021-04-06 09:08:27 【问题描述】:

我有带有 clickhouse 数据库的 docker 容器。我有我们生产的备份。但是我尝试了很多恢复的情况。当我使用命令(在容器中):clickhouse-client --format Raw --file 21_02_04_db.backup 时,我收到错误Bad arguments: unrecognised option '--file'。好的,我尝试不使用此选项:clickhouse-client --format Raw < 21_02_04_db.backup ,但出现错误:

Code: 62. DB::Exception: Syntax error: failed at position 1 ('') (line 1, col 1): �TimDateTime�#�]��]�k�]u �]0&�] 9�]�-�]��]�I�]U��]���]yy�]���]�\�]�\�]��]B�]�j�]v)�]�d�]J��]�F�]�]�]��]t%�]t%�]���]��]F?�]�B�]��]W3�]��]E��]P��]a�. Unrecognized token: '' I use other backups but in many cases I get similar error. Maybe someone tried restore backup clickhouse with help binary data? I try many cases but I didn't search solution.

【问题讨论】:

你是如何备份数据库的——使用clickhouse-backup-tool? 【参考方案1】:

看起来像原生格式

应该是这样的

clickhouse-client -q 'insert into mytable format Native' < 21_02_04_db.backup

【讨论】:

好的,但是如果我备份了整个数据库,如果我将插入某个表,那么我将只得到一张表和该表的数据?或者我的转储会将所有数据填充到一张表中? Clickhouse 没有整个数据库的备份。

以上是关于clickhouse 数据备份与恢复的主要内容,如果未能解决你的问题,请参考以下文章

ClickHouse-尚硅谷(2. 入门-安装)学习笔记

ClickHouse-尚硅谷(2. 入门-安装)学习笔记

火山引擎:ClickHouse增强计划之“多表关联查询”

火山引擎:ClickHouse增强计划之“多表关联查询”

火山引擎:ClickHouse增强计划之“多表关联查询”

火山引擎:强大的数据分析平台如何构建基于ClickHouse的查询优化器