Clickhouse备份恢复_Docker环境下的clickhouse如何备份恢复

总结:
Docker环境的下的clickhouse备份,不能使用clickhouse-backup,因为clickhouse-client只能备份Docker环境下的clickhouse的元数据
Docker环境的下的clickhouse备份,可以使用TCP的clickhouse-client的9000或HTTP的8123连接clickhouse服务器后使用backup\restore命令来备份\恢复

[dailachdbud005 ~]# docker ps
CONTAINER ID   IMAGE                                             COMMAND                  CREATED         STATUS      PORTS                                                                                                NAMES  
197a50985f73   clickhouse/clickhouse-server:22.9.3               "/entrypoint.sh"         16 months ago   Up 9 days   0.0.0.0:8123->8123/tcp, :::8123->8123/tcp, 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp, 9009/tcp       root-clickhouse-1
[dailachdbud005 ~]# ps -ef|grep click|grep -v grep
101        2330   2260  6 Jun02 ?        14:52:20 /usr/bin/clickhouse-server --config-file=/etc/clickhouse-server/config.xml[dailachdbud005 ~]# clickhouse-client -h dailachdbud005 -u onescore --password '123456' --port 9000
select name,path,type from system.disks;
197a50985f73 :) select name,path,type from system.disks;┌─name────┬─path─────────────────┬─type──┐
1. │ backups │ /backups/local2.default/var/lib/clickhouse/local │└─────────┴──────────────────────┴───────┘

查看到/backups对应的宿主服务器目录为/var/lib/docker/volumes/root_clickhouse_backup/_data

[dailachdbud005 ~]# docker inspect 197a50985f73 | grep backups -B 3 -A 3{"Type": "volume","Source": "root_clickhouse_backup","Target": "/backups","VolumeOptions": {}}],
--"Type": "volume","Name": "root_clickhouse_backup","Source": "/var/lib/docker/volumes/root_clickhouse_backup/_data","Destination": "/backups","Driver": "local","Mode": "z","RW": true,
--"Cmd": null,"Image": "clickhouse/clickhouse-server:22.9.3","Volumes": {"/backups": {},"/etc/clickhouse-server/config.d": {},"/etc/clickhouse-server/users.d": {},"/var/lib/clickhouse": {}

clickhouse-backup
实践过只能备份元数据,因为clickhouse-backup远程备份,只能备份元数据

[odsonescoredev3 /]# cat /etc/clickhouse-backup/config.yml
general:remote_storage: nonemax_file_size: 1099511627776disable_progress_bar: falsebackups_to_keep_local: 3backups_to_keep_remote: 15log_level: infoallow_empty_backups: false
clickhouse:username: onescorepassword: "123456"host: localhostport: 9000disk_mapping: {}skip_tables:- system.*- default.*- information_schema.*- INFORMATION_SCHEMA.*timeout: 5mfreeze_by_part: falsesecure: falseskip_verify: falsesync_replicated_tables: trueskip_sync_replica_timeouts: truelog_sql_queries: false
sftp:address: "127.0.0.1"username: "root"password: "D123"port: 22key: ""path: "/mnt/datadomaindir/clickhouse_backup/Dev/ODS1SCHFBDMDEV"concurrency: 1compression_format: nonedebug: false[odsonescoredev3 /]# df -h
Filesystem                                                                                          Size  Used Avail Use% Mounted on
devtmpfs                                                                                            7.8G     0  7.8G   0% /dev
tmpfs                                                                                               7.8G   22M  7.8G   1% /dev/shm
tmpfs                                                                                               7.8G  755M  7.1G  10% /run
tmpfs                                                                                               7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/mapper/centos-root                                                                             253G   82G  171G  33% /
/dev/sda1                                                                                           3.8G  233M  3.5G   7% /boot
overlay                                                                                             253G   82G  171G  33% /var/lib/docker/overlay2/d3d9d9a71c2c9553ba3646b987d7b4e30363c2288e8098ace3d8e35aabfd2cd5/merged
overlay                                                                                             253G   82G  171G  33% /var/lib/docker/overlay2/f2bc5bec233a9f6341729d53db0473ed605a72a80ad6b8bd7ffb54b004c81803/merged
overlay                                                                                             253G   82G  171G  33% /var/lib/docker/overlay2/8f4af2f381fc2ed01f9ec3cf7d0c5637d1016f7b0d91cd0f6a84d6e8fb01d40e/merged
overlay                                                                                             253G   82G  171G  33% /var/lib/docker/overlay2/b78e207587d76ebb9fd3969bfb120faf257572d241948e5d5a1632c3efc04349/merged
overlay                                                                                             253G   82G  171G  33% /var/lib/docker/overlay2/b9a729c56ab4c25055feb2d19f1dedeb6921cfa37e7194d5da68b4aaab7230a4/merged
tmpfs                                                                                               1.6G     0  1.6G   0% /run/user/0[odsonescoredev3 /]# ll /var/lib/clickhouse
total 8
drwxr-x--- 2 101 101 116 Jul 12  2022 access
drwxr-x--- 3 101 101  22 May 13 23:19 backup
drwxr-x--- 4 101 101  35 Jul 12  2022 data
drwxr-x--- 2 101 101   6 Jul 12  2022 dictionaries_lib
drwxr-x--- 2 101 101   6 Jul 12  2022 flags
drwxr-xr-x 2 101 101   6 Jul 12  2022 format_schemas
drwxr-x--- 4 101 101 184 Jul 12  2022 metadata
drwxr-x--- 2 101 101   6 Jul 12  2022 metadata_dropped
drwxr-x--- 2 101 101  41 Jul 12  2022 preprocessed_configs
-rw-r----- 1 101 101  55 Jul 12  2022 status
drwxr-x--- 8 101 101  72 Jul 12  2022 store
drwxr-xr-x 2 101 101   6 Jul 12  2022 tmp
drwxr-x--- 2 101 101   6 Jul 12  2022 user_defined
drwxr-xr-x 2 101 101   6 Jul 12  2022 user_files
drwxr-x--- 2 101 101   6 Jul 12  2022 user_scripts
-rw-r----- 1 101 101  36 Jul 12  2022 uuid[odsonescoredev3 /]# ll /var/lib/clickhouse/backup/20240514
total 52
drwxr-x--- 9 101 101   100 May 13 23:19 metadata
-rw-r----- 1 101 101 52532 May 13 23:19 metadata.json

使用clickhouse-client的backup和restore执行备份恢复

1、使用http的模式

[dailachdbud005 ~]# cat /root/backup_clickhouse.sh
#!/bin/bash
export CURRENT_TIME=$(date -u +"%Y%m%d%H%M%S")curl 'http://localhost:8123/?add_http_cors_header=1&default_format=JSONCompact&max_result_rows=1000&max_result_bytes=10000000&result_overflow_mode=break' \-H 'Accept: */*' \-H 'Accept-Language: en-US,en;q=0.9' \-H 'Authorization: Basic b25lmU6T2RzMjAyMg==' \-H 'Connection: keep-alive' \-H 'Content-Type: text/plain;charset=UTF-8' \--data $'BACKUP DATABASE etl TO Disk(\'backups\', \'etl_latest.zip\') \n\n\n' \--compressed \--insecure
sleep 1;mv /var/lib/docker/volumes/root_clickhouse_backup/_data/etl_latest.zip /var/lib/docker/volumes/root_clickhouse_backup/_data/"$CURRENT_TIME"_etl.zip&
sleep 1;mv /var/lib/docker/volumes/root_clickhouse_backup/_data/"$CURRENT_TIME"_etl.zip /mnt/clickhouse_backup/&

2、使用tcp的模式
查看备份路径

[dailachdbud005 ~]# clickhouse-client -h dailachdbud005 -u onescore --password '123456' --port 9000
select name,path,type from system.disks;
197a50985f73 :) select name,path,type from system.disks;┌─name────┬─path─────────────────┬─type──┐
1. │ backups │ /backups/local2.default/var/lib/clickhouse/local │└─────────┴──────────────────────┴───────┘

备份的shell脚本

[dailachdbud005 ~]# cat /root/script/clickhouse-client_backup.sh
#/bin/bash
current_date=`date +%Y%m%d`
clickhouse-client -h dailachdbud005 -u onescore --password '123456' --port 9000 -q "backup database  import to Disk('backups','import.zip');"
clickhouse-client -h dailachdbud005 -u onescore --password '123456' --port 9000 -q "backup database  prime to Disk('backups','prime.zip');"mv /var/lib/docker/volumes/root_clickhouse_backup/_data/import.zip /var/lib/docker/volumes/root_clickhouse_backup/_data/import_$current_date.zip
mv /var/lib/docker/volumes/root_clickhouse_backup/_data/prime.zip /var/lib/docker/volumes/root_clickhouse_backup/_data/prime_$current_date.zip

查看备份是否成功

[dailachdbud005 ~]# clickhouse-client -h dailachdbud005 -u onescore --password '123456' --port 9000
SELECT id,name,status,error,start_time,end_time FROM system.backups where end_time>'2024-06-12' and status='BACKUP_CREATED';┌─id───────────────────────────────────┬─name────────────────────────────────┬─status─────────┬─error─┬──────────start_time─┬────────────end_time─┐
1. │ b70432ab-5a1f-48fd-b050-863240bff3c5 │ Disk('backups', 'shared.zip')       │ BACKUP_CREATED │       │ 2024-06-12 04:43:242024-06-12 04:44:392. │ d4b9c0a3-d295-412a-9062-12f05b5ae091 │ Disk('backups', 'reports.zip')      │ BACKUP_CREATED │       │ 2024-06-12 04:43:242024-06-12 04:43:243. │ c6ea3507-1532-467f-9325-e4a60a93a869 │ Disk('backups', 'remote.zip')       │ BACKUP_CREATED │       │ 2024-06-12 04:43:242024-06-12 04:43:244.4e5878c0-1893-41dd-8a4e-74f214ea010b │ Disk('backups', 'prime.zip')        │ BACKUP_CREATED │       │ 2024-06-12 04:43:232024-06-12 04:43:245.8a3a272a-7323-4b87-96f8-63494ebd54c8 │ Disk('backups', 'import.zip')       │ BACKUP_CREATED │       │ 2024-06-12 04:43:212024-06-12 04:43:23 │└──────────────────────────────────────┴─────────────────────────────────────┴────────────────┴───────┴─────────────────────┴─────────────────────┘

执行恢复

197a50985f73 :) show databases;┌─name───────────────┐1. │ INFORMATION_SCHEMA │2. │ cache              │3.default4.import5. │ information_schema │6. │ prime              │7. │ remote             │8. │ reports            │9. │ shared             │
10. │ system             │└────────────────────┘
197a50985f73 :) use remote;
197a50985f73 :) show tables;┌─name────────────────────────────────────────────┐
1.1712047046_255_dae3b6de0a774198a9e17c76d4d6f08e │
2.1712048388_255_53c73797082740b69f90d8f19676ed15 │└─────────────────────────────────────────────────┘
197a50985f73 :) select count(*) from 1712047046_255_dae3b6de0a774198a9e17c76d4d6f08e;┌─count()─┐
1.136 │└─────────┘
197a50985f73 :) drop database reports;
197a50985f73 :) drop database prime;
197a50985f73 :) drop database remote;197a50985f73 :) show databases;┌─name───────────────┐
1. │ INFORMATION_SCHEMA │
2. │ cache              │
3.default4.import5. │ information_schema │
6. │ shared             │
7. │ system             │└────────────────────┘197a50985f73 :) restore database reports from Disk('backups','reports_20240612.zip');┌─id───────────────────────────────────┬─status───┐
1.7cac908e-3aa7-4fd5-8511-91c76b67f071 │ RESTORED │└──────────────────────────────────────┴──────────┘197a50985f73 :) restore database prime from Disk('backups','prime_20240612.zip');┌─id───────────────────────────────────┬─status───┐
1.0ecd29a1-6e1c-404d-be4e-282294627b90 │ RESTORED │└──────────────────────────────────────┴──────────┘197a50985f73 :) restore database remote from Disk('backups','remote_20240612.zip');┌─id───────────────────────────────────┬─status───┐
1. │ f69a23d3-df69-4969-bd93-9c21a6166e28 │ RESTORED │└──────────────────────────────────────┴──────────┘197a50985f73 :) show databases;┌─name───────────────┐1. │ INFORMATION_SCHEMA │2. │ cache              │3.default4.import5. │ information_schema │6. │ prime              │7. │ remote             │8. │ reports            │9. │ shared             │
10. │ system             │└────────────────────┘
197a50985f73 :) use remote;
197a50985f73 :) show tables;┌─name────────────────────────────────────────────┐
1.1712047046_255_dae3b6de0a774198a9e17c76d4d6f08e │
2.1712048388_255_53c73797082740b69f90d8f19676ed15 │└─────────────────────────────────────────────────┘
197a50985f73 :) select count(*) from 1712047046_255_dae3b6de0a774198a9e17c76d4d6f08e;┌─count()─┐
1.136 │└─────────┘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/32843.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

20240621日志:大模型压缩-从闭源大模型蒸馏

目录 1. 核心内容2. 方法2.1 先验估计2.2 后验估计2.3 目标函数 3. 交叉熵损失函数与Kullback-Leibler(KL)损失函数 location:beijing 涉及知识:大模型压缩、知识蒸馏 Fig. 1 大模型压缩-知识蒸馏 1. 核心内容 本文提出在一个贝…

Program-of-Thoughts(PoT):结合Python工具和CoT提升大语言模型数学推理能力

Program of Thoughts Prompting:Disentangling Computation from Reasoning for Numerical Reasoning Tasks github:https://github.com/wenhuchen/Program-of-Thoughts 一、动机 数学运算和金融方面都涉及算术推理。先前方法采用监督训练的形式,但这…

英语笔记-专升本

2024年6月23日15点01分,今天自己听老师讲了一张试卷,自己要开始不断地进行一个做事,使自己可以不断地得到一个提升,自己可以提升的内容, 英语试卷笔记 ------------------------------------ | 英语试卷笔记 …

使用Python监控网络连接状态并自动启动和关闭软件

通过 Python 编写一个网络连接状态监测程序,以 Synology Drive软件为例。通过如下代码实现来演示如何监控网络连接状态并自动启动和关闭相关软件。 程序首先通过 ping 命令检查内网或外网的连接状态。如果连接的是外网,则程序会检查 Synology Drive 软件…

发表在SIGMOD 2024上的高维向量检索/向量数据库/ANNS相关论文

前言 SIGMOD 2024会议最近刚在智利圣地亚哥结束,有关高维向量检索/向量数据库/ANNS的论文主要有5篇,涉及混合查询(带属性或范围过滤的向量检索)优化、severless向量数据库优化、量化编码优化、磁盘图索引优化。此外,也…

微信小程序入门2

微信开发者工具的安装方法 1.打开微信开发者工具下载页面 在微信小程序管理后台的左侧边栏中选择“开发工具”,然后选择“开发者工具”,即可找到微信开发者工具的下载页面。 2.打开微信开发者工具的下载链接页面 单击“下载” 按钮下载,即…

离线linux通过USB连接并使用手机网络

离线linux通过USB连接并使用手机网络 引场景 引 离线环境要安装一些软件特别麻烦,要自己去官网下载对应的包,然后上传到服务器上,再解压,编译,执行,配置变量等等,错一步都可能安装失败。有网络…

越复杂的CoT越有效吗?Complexity-Based Prompting for Multi-step Reasoning

Complexity-Based Prompting for Multi-step Reasoning 论文:https://openreview.net/pdf?idyf1icZHC-l9 Github:https://github.com/FranxYao/chain-of-thought-hub 发表位置:ICLR 2023 Complexity-Based Prompting for Multi-step Reason…

网络攻击有哪些新兴的威胁和防御策略

最新网络攻击威胁 近期,网络攻击的威胁呈现出新的趋势和特点。DDoS攻击仍然是一种严重的威胁,其次数和规模在过去一年中显著增长,攻击者技术不断升级,攻击成本逐渐降低。此外,攻击者的手段越来越多样化,包…

Simple-STNDT使用Transformer进行Spike信号的表征学习(三)训练与评估

文章目录 1. 评估指标2. 训练准备3. debug测试4. train-val函数 1. 评估指标 import numpy as np from scipy.special import gammaln import torchdef neg_log_likelihood(rates, spikes, zero_warningTrue):"""Calculates Poisson negative log likelihood g…

Java面试题:通过实例说明工厂模式和抽象工厂模式的用法,以及它们在解耦中的作用

工厂模式和抽象工厂模式是创建型设计模式中的两种,主要用于对象的创建,并且通过将对象的创建过程封装起来,来实现代码的解耦和灵活性。下面通过具体实例来说明这两种模式的用法及其在解耦中的作用。 工厂模式(Factory Method Pat…

STM32 - LED灯 蜂鸣器

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

Pytest框架中pytest.mark功能

文章目录 mark功能 1. 使用pytest.mark.skip 2. 使用pytest.mark.skipif 3. 使用 pytest.mark.xfail 4使用pytest.mark.parametrize 5 使用pytest.mark.自定义标记 6 使用pytest.mark.usefixtures pytest 的mark功能在pytest官方文档是这样解释的: https://…

Rust:使用 Warp 框架编写基于 HTTPS 的 RESTful API

在 Rust 中使用 Warp 框架编写基于 HTTPS 的 RESTful API,你需要首先设置好 TLS/SSL 证书以启用 HTTPS。以下是一个基本的步骤指南: 步骤 1: 安装 Rust 和 Cargo 确保你已经安装了 Rust 和 Cargo。你可以从 Rust 官网 下载并安装 Rust。 步骤 2: 创建…

stm32学习笔记---GPIO输出(代码部分)LED闪烁/流水灯/蜂鸣器

目录 面包板的使用方法 第一个演示代码:LED闪烁 最后一次快速新建工程演示 点击新建工程 选择芯片 在工程文件夹中创建Start、Library、User Start文件夹的必备文件复制操作 Library文件夹的必备文件复制操作 User文件夹的必备文件复制操作 在keil中创建S…

关于数据登记的六点观察|数据与治理思享会(第1期)圆满举行

本文内容转载自 数据与治理专委会。 鼹鼠哥有幸在上周参与了数据大讲堂的首次线下活动,也做了个简短笔记 [最新]清华数据大讲堂线下思享会 因为上次是个人笔记,有些内容不方便些。既然今天官方公众号发出来了,就在这里把官方的内容也给大家转…

Repair LED lights

Repair LED lights 修理LED灯,现在基本用灯带,就是小型LED灯串联一起的 1)拆旧灯条,这个旧的是用螺丝拧的产品 电闸关掉。 2)五金店买一个,这种是磁铁吸附的产品 现在好多都是铝线啊。。。 小部件&#x…

【大数据离线项目四:什么是海豚调度?怎么使用可以将海豚调度应用到我们的大数据项目开发中?】

前言: 💞💞大家好,我是书生♡,今天主要和大家分享一下什么是海豚调度?怎么使用可以将海豚调度应用到我们的项目开发中?希望对大家有所帮助。 💞💞代码是你的画笔&#xf…

数组 (java)

文章目录 一维数组静态初始化动态初始化 二维数组静态初始化动态初始化 数组参数传递可变参数关于 main 方法的形参 argsArray 工具类sort 中的 comparable 和 comparatorcomparator 比较器排序comparable 自然排序 一维数组 线性结构 静态初始化 第一种:int[] a…

IDEA插件推荐-CodeGeex

功能:这个插件可以实现快速翻译代码,json文件格式转换,代码语言类型转换。 安装方式:File->Settings->Plugins->MarketPlace->搜索“CodeGeex”即可 (CodeGeex功能展示) (CodeGeex…