当前位置:网站首页>Accidentally deleted the data file of Clickhouse, can it be restored?
Accidentally deleted the data file of Clickhouse, can it be restored?
2022-07-04 05:35:00 【Common program ape】
I believe that for those who want to use it in the production environment clickhouse For children's shoes , We will definitely pay attention to the reliability of data storage , There are three common ways to achieve this :
- Bottom disk do RAID : This method is similar to CH It doesn't matter , It belongs to the protection mechanism at the hardware level
- utilize CH Provided ReplicatedMergeTree The engine stores multiple copies , This is the focus of this article , Let's talk about it in detail later
- Backup data regularly , When you need to restore, manually execute the command to import , This method is detailed in above
What will be described below is on the premise of making copies , Same old thing , Let's start the journey of exploration by asking and answering ~~
Q1: Go straight ahead , Let's say you accidentally deleted the data file , Can you recover ?
The answer must be yes , But the premise is that what I said above ReplicatedMergeTree The engine made a copy , And the copy data is not damaged .
Q2: Will it automatically recover ? Still need to execute any command ?
forehead , I can only say that it is semi-automatic , Because if you accidentally delete one parts In the catalog bin file , The system will not detect it automatically , Unless you restart the service ( I think in most cases we are definitely unwilling to do so ..). When will it be tested ? When you again select When querying this table , The detection will be triggered immediately , for the first time select The query will throw you an exception , Prompt that the file corresponding to this block cannot be found , Here's the picture :
If you query again, you won't report an error , Of course, you can't find the missing data in this local table , Isn't that a lie ? I thought it could be restored automatically ? Don't worry. , Because it's no use rushing , because CH Data loss has been detected in the background , It will throw the task of data recovery into a queue , But it will not immediately perform the tasks in the queue , But will wait for a period of time , I'm not sure how long it will take , My observation here is about ten minutes , When I checked the lost data again, I found that the data had been recovered . Do I have to wait so long ? Can you trigger automatic recovery immediately ? unfortunately , I haven't found the corresponding method , If any friend knows , Welcome to leave a message ~~
Q3: Then how do you know that there are tasks waiting in line behind the scenes ?
The two methods :
- One is to read the log
/var/log/clickhouse-server/clickhouse-server.log, You can see it when you query again ReplicatedMergeTreePartCheckThread Log
- Look at the system table
system.replication_queue
Q4: Go a little deeper , How does it judge that my file is damaged ?
It must be inseparable from you zookeeper Brother ,zookeeper Metadata information of each fragment and replica is recorded in , The checking thread compares the local file with zk Whether the metadata on is consistent , If it's not consistent , Will put the previous parts Directory move to detached Under the table of contents , And will parts The directory name is prefixed broken, And write a background task to the queue , Tell it to get from the replica node . When this task is actually called , It will send a request to the replica node , Copy the lost data back from the remote .
There is zk Under the circumstances , In case zk I don't work anymore ? Will still check , But this time it parts Directory move to detached After the catalog , The prefix added becomes unexpected, At this time, no background tasks will be submitted , There is no way to recover automatically .
summary
Let's summarize briefly , Three conditions for lost data recovery :
- This table uses ReplicatedMergeTree engine
- zookeeper Normal work
- The copy file was not damaged during this period
Meet the above three conditions , Your data will be more secure ~~
边栏推荐
- Analysis of classical pointer and array written test questions in C language
- Notepad++ -- display related configurations
- [matlab] general function of communication signal modulation inverse Fourier transform
- LabVIEW错误对话框的出现
- [matlab] matlab simulates digital bandpass transmission systems - QPSK and OQPSK systems
- Zhanrui tankbang | jointly build, cooperate and win-win zhanrui core ecology
- Letter meaning and parameter abbreviation of optical module Daquan
- Automated testing selenium foundation -- webdriverapi
- Flink1.13 basic SQL syntax (II) join operation
- [matlab] matlab simulation of modulation system - power spectrum and coherent demodulation of AM modulated signal
猜你喜欢

2022年R2移动式压力容器充装复训题库及答案
![How to use postman to realize simple interface Association [add, delete, modify and query]](/img/e9/bf89eacdebcf2ec84c8a08c28b9ca8.png)
How to use postman to realize simple interface Association [add, delete, modify and query]
![BUU-Real-[PHP]XXE](/img/97/b7139270145e6aa6a4f5d1067e2527.jpg)
BUU-Real-[PHP]XXE

云原生架构实战案例及优化解决方案

Flutter ‘/usr/lib/libswiftCore. dylib‘ (no such file)

transformer坑了多少算力

Simulink and Arduino serial port communication

LabVIEW错误对话框的出现

c语言经典指针和数组笔试题解析

724. Find the central subscript of the array
随机推荐
KMP match string
Flask
Talk about the SQL server version of DTM sub transaction barrier function
BUU-Reverse-easyre
Introduction to AMBA
Google Chrome browser will support the function of selecting text translation
[matlab] matlab simulation modulation system SSB system
Evolution of system architecture: differences and connections between SOA and microservice architecture
Remote desktop client RDP
The data mark is a piece of fat meat, and it is not only China Manfu technology that focuses on this meat
LM小型可编程控制器软件(基于CoDeSys)笔记二十一:错误3703
Li Kou's 300th weekly match
[wechat applet] template and configuration (wxml, wxss, global and page configuration, network data request)
June 2022 summary
[技术发展-25]:广播电视网、互联网、电信网、电网四网融合技术
KMP匹配字符串
Flutter calls Gaode map app to realize location search, route planning and reverse geocoding
C语言简易学生管理系统(含源码)
【兴趣阅读】Adversarial Filtering Modeling on Long-term User Behavior Sequences for Click-Through Rate Pre
Trie数-字典树