服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

Clickhouse:当使用ALTER TABLE FREEZE PARTITION时,最新分区的备份/恢复不一致

我试图build立一个备份和恢复Clickhouse数据的过程,但是当我恢复数据并运行查询时,最近的分区似乎有差异。 我目前正在使用Clickhouse服务器版本1.1.54245的单个实例,而不是集群。 由于不兼容,我还无法升级到更高版本。 这是我的一个replaceMergeTree表的过程: 删除影子目录的内容,以便我们不会从早期的备份过程中获取影子文件。 首先,执行一个select语句,稍后将使用它来validation还原是否成功: select发生的date,count(*)FROM mytable组发出的事件发生dateorder_at_date 对于每个分区, ALTER TABLE mytable FREEZE PARTITION … 收集shadow / [0-9] *目录中的文件并将其备份。 收集元数据/ mydb.sql和元数据/ mydb / *文件并备份。 在另一台机器上,使用备份中的数据和元数据文件启动一个新的Clickhouse服务器。 执行与步骤2中相同的select语句来检查是否有任何差异。 问题是对于其中一个表,查询返回结果集中最后2个date的步骤7中的计数太低。 示例1:我在2017-10-02做了备份和恢复,这里是检查的结果:从2010-01-01到2017-09-30的所有date都很好。 但是2017-10-01:备份之前已经有99641了。还原之后有68432和2017-10-02:备份之前有37790.还原之后有1330 示例2:我在2017-10-03做了备份和恢复。 没有差异。 示例3:我在2017-10-03进行了第二次备份和恢复。 从2010-01-01到2017-09-30的所有date都很好。 恢复后查询结果完全丢失了2017-10-01。 在恢复后查询结果中完全丢失了2017-10-02。 2017-10-03部分丢失:备份之前有30716.还原后有20526 在执行FREEZE操作时会显示一条错误消息: Unknown error field: Poco::Exception. Code: 1000 Unknown error field: e.code() = 2 Unknown error field: e.displayText() = File […]