репликаци одной таблицы на этой ноде, я уже встречался с такой проблемой, обычно она решалась таким алгоритмом:
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)
подкскажите пожалуйста, как можно восстановить репликацию?
zookeeper или clickhouse-keeper?
Одна нода ZK или несколько?
смотрите логи ZK на тему потери кворума и того как он восстановился ... может лидер не так выбрался... и часть данных потерялась...
лидер выбрался ошибок в логах нет
там не ошибки... там типа что нибудь тип вот новый лидер... щас мы с него снапшот раскатим на все остальные инстансы ZK
ладно, по логам не ясно ничего там виден процесс выбора, по итогу лидер выбран, что теперь с этим можно сделать?
еще раз DETACH TABLE ... и SYSTEM DROP REPLICA `ch-3' FROM ZKPATH '/clickhouse/tables/db/table' после этого SELECT * FROM system.zookeeper WHERE path='/clickhouse/tables/db/table/replicas'
1 Table db.table doesn't exist. (UNKNOWN_TABLE) 2. результат есть, выдача большая, на что конкретно можно обратить внимание?
На то что ch-3 нет в репилках FORMAT Vertical используйте чтобы лучше выдачу видеть и понимать
явно этого не нашел, вот что-то похожее 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
выглядит как кусок вывода SELECT * FROM system.zookeeper WHERE path='/clickhouse/tables/db/table' вместо SELECT * FROM system.zookeeper WHERE path='/clickhouse/tables/db/table/replicas'
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
тогда непонятно если таблицы в system.tables нет то вы уверен что правильно SYSTEM DROP REPLICA 'ch-3' FROM ZKPATH сделали?
я проверил запрос он верный, но я попытался вновь выполнить DETACH TABLE, SYSTEM DROP REPLICA, ATTACH TABLE и оно отработало! не знаю что помогло, я много чего делал, но допускаю что виновата тут смена лидера зукипера
Обсуждают сегодня