专业的编程技术博客社区

网站首页 > 博客文章 正文

clickhouse的数据丢失如何利用副本恢复

baijin 2024-10-23 08:52:13 博客文章 10 ℃ 0 评论

为了模拟这种情况,在node1节点将 /home/data/clickhouse目录删除,此时clickhouse进程并未消失。

利用ReplicateMergeTree方式构建高可用请参考:clickhouse高可用研究

可以手动执行systemctl stop clickhouse-server,然后再重启systemctl start clickhouse-server,发现clickhouse-server进程无法启动,定位日志是没有对应目录。


mkdir -p /home/data/clickhouse
chown clickhouse:clickhouse /home/data/clickhouse
chown -R clickhouse:clickhouse /home/data/clickhouse/*

此时重启clickhouse , 执行 systemctl restart clickhouse-server,登录发现


按照官方文档对数据进行恢复步骤:

1)node1的分片对应与node3的副本,因此源数据信息从node4节点的/home/data/clickhouse_replica/metadata目录的所有sql对等的拷贝到node1节点的/home/data/clickhouse/metadata目录

具体node4上操作:

cd /home/data/clickhouse_replica/metadata
scp *.sql node1:/home/data/clickhouse/metadata

2)在node1上将/home/data/clickhouse/metadata目录下的权限进行更改

cd /home/data/clickhouse/metadata
chown -R clickhouse:clickhouse *
systemctl restart clickhouse-server

会发现/home/data/clickhouse/metadata/bigdata_test目录被创建了


将node4的/home/data/clickhouse_replica/metadata/bigdata_test/下的sql文件拷贝到node1的/home/data/clickhouse/metadata/bigdata_test目录,注意目录别拷贝错了

cd /home/data/clickhouse/metadata
chown -R clickhouse:clickhouse *
systemctl restart clickhouse-server

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表