184 похожих чатов

Всем привет, после рестарта одной из 3х нод кластера, сломалась

репликаци одной таблицы на этой ноде, я уже встречался с такой проблемой, обычно она решалась таким алгоритмом:
DETACH TABLE <db.table>
SYSTEM DROP REPLICA '<replica name>' FROM ZKPATH '/path/to/tables/in/zk'
ATTACH TABLE <db.table>
SYSTEM RESTORE REPLICA <db.table>

но в этот раз запрос ATTACH TABLE свалился в ошибку: Code: 999. DB::Exception: Received from :9000. DB::Exception: Can't get data for node /clickhouse/tables/db/table/replicas/ch-3/columns: node doesn't exist (No node). (KEEPER_EXCEPTION)
после чего я попытался пересоздать таблицу, но четно:

DROP TABLE db.table SYNC
Code: 60. DB::Exception: Received from :9000. DB::Exception: Table db.table doesn't exist. (UNKNOWN_TABLE)

CREATE TABLE db.table
Code: 57. DB::Exception: Received from :9000. DB::Exception: Table db.table already exists (detached). (TABLE_ALREADY_EXISTS)

подкскажите пожалуйста, как можно восстановить репликацию?

16 ответов

22 просмотра

zookeeper или clickhouse-keeper?

Roman Ivanov
zookeeper

Одна нода ZK или несколько?

Roman Ivanov
3

смотрите логи ZK на тему потери кворума и того как он восстановился ... может лидер не так выбрался... и часть данных потерялась...

Roman-Ivanov Автор вопроса

лидер выбрался ошибок в логах нет

Roman Ivanov
лидер выбрался ошибок в логах нет

там не ошибки... там типа что нибудь тип вот новый лидер... щас мы с него снапшот раскатим на все остальные инстансы ZK

Roman-Ivanov Автор вопроса
Slach [altinity]
там не ошибки... там типа что нибудь тип вот новый...

ладно, по логам не ясно ничего там виден процесс выбора, по итогу лидер выбран, что теперь с этим можно сделать?

Roman Ivanov
ладно, по логам не ясно ничего там виден процесс в...

еще раз DETACH TABLE ... и SYSTEM DROP REPLICA `ch-3' FROM ZKPATH '/clickhouse/tables/db/table' после этого SELECT * FROM system.zookeeper WHERE path='/clickhouse/tables/db/table/replicas'

Roman-Ivanov Автор вопроса

1 Table db.table doesn't exist. (UNKNOWN_TABLE) 2. результат есть, выдача большая, на что конкретно можно обратить внимание?

Roman Ivanov
1 Table db.table doesn't exist. (UNKNOWN_TABLE) 2....

На то что ch-3 нет в репилках FORMAT Vertical используйте чтобы лучше выдачу видеть и понимать

Roman-Ivanov Автор вопроса

явно этого не нашел, вот что-то похожее Row 10: ─────── name: replicas value: last added replica: ch-3 czxid: 8592328591 mzxid: 6438328841766 ctime: 2022-10-03 18:10:03 mtime: 2023-05-22 16:31:30 version: 17 cversion: 33 aversion: 0 ephemeralOwner: 0 dataLength: 24 numChildren: 3 pzxid: 6438328841766

Roman Ivanov
явно этого не нашел, вот что-то похожее Row 10: ─...

выглядит как кусок вывода SELECT * FROM system.zookeeper WHERE path='/clickhouse/tables/db/table' вместо SELECT * FROM system.zookeeper WHERE path='/clickhouse/tables/db/table/replicas'

Roman-Ivanov Автор вопроса
Slach [altinity]
выглядит как кусок вывода SELECT * FROM system.zo...

cорри так и есть да реплика есть в выводе Row 2: ────── name: ch-3 value: czxid: 6438328841766 mzxid: 6438328841766 ctime: 2023-05-22 16:31:30 mtime: 2023-05-22 16:31:30 version: 0 cversion: 437 aversion: 0 ephemeralOwner: 0 dataLength: 0 numChildren: 3 pzxid: 6446794002293

Roman Ivanov
cорри так и есть да реплика есть в выводе Row 2:...

тогда непонятно если таблицы в system.tables нет то вы уверен что правильно SYSTEM DROP REPLICA 'ch-3' FROM ZKPATH сделали?

Roman-Ivanov Автор вопроса
Slach [altinity]
тогда непонятно если таблицы в system.tables нет ...

я проверил запрос он верный, но я попытался вновь выполнить DETACH TABLE, SYSTEM DROP REPLICA, ATTACH TABLE и оно отработало! не знаю что помогло, я много чего делал, но допускаю что виновата тут смена лидера зукипера

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта