Реплика ClickHouse не синхронизирована - PullRequest
0 голосов
/ 20 июня 2020

У меня кластер из 3 серверов ClickHouse с таблицей, использующей ReplicatedMergeTree. Два сервера не синхронизированы c, и количество очередей в system.replication_queue продолжает увеличиваться. Я вижу эту ошибку в журналах.

Not executing log entry for part e87a3a2d13950a90846a513f435c2560_2428139_2436934_22 because source parts size (470.12 MiB) is greater than the current maximum (4.45 MiB).

Как мне увеличить размер исходных частей? Не нашел в настройках.

Обновление:

Я прочитал исходный код, он автоматически рассчитывается на основе доступных ресурсов. Я также получаю это сообщение

Not executing log entry for part de77ce6a2937ce543cd003eb289fdb7e_8097652_8107495_1904 because another log entry for the same part is being processed. This shouldn't happen often.

Серверы, которые получают вышеуказанное сообщение в журнале, имеют высокую загрузку ЦП и задержку при вставках.

Очередь репликации очищается, как только я прекращаю вставку.

1 Ответ

0 голосов
/ 18 июля 2020

Я нашел решение. Это происходит из-за того, что «слияние обрабатывается значительно медленнее, чем вставка», как предлагает @ vladimir

. Я вставлял данные большими партиями, но это не значит, что clickhouse также будет хранить данные в большом файле. Clickhouse хранит данные на основе

number of partitions * number of columns * (times 2 for every nullable column)

, поэтому даже для вставки с помощью одного большого пакета создается несколько файлов. Я решил эту проблему, уменьшив количество разделов, удалив ключ раздела, тем самым уменьшив количество создаваемых файлов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...