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

Всем привет! Развернул кластер ClickHouse Keeper из 3х нод по

аналогии с этим конфигом:
https://github.com/ClickHouse/ClickHouse/blob/master/tests/integration/test_keeper_multinode_simple/configs/enable_keeper1.xml
Настроил клики на обеих репликах, репликация работает. Стал проверять падение одной ноды CH Keepera, и при падении одной ноды, клик перестает принимать вставки и не уходит в работу с оставшимися двумя. Кипер 2 и 3 ноды спамят в логах этим:
2023.09.08 00:26:52.815046 [ 95602 ] {} <Trace> KeeperTCPHandlerFactory: Keeper request. Address: host:port
2023.09.08 00:26:52.815107 [ 95602 ] {} <Warning> KeeperTCPHandler: Ignoring user request, because the server is not active yet
2023.09.08 00:26:55.291008 [ 95642 ] {} <Information> KeeperDispatcher: Server still not initialized, will not apply configuration until initialization finished
Я же правильно понимаю, что при падении одной ноды кипера, клик должен жить с оставшимися двумя?

14 ответов

34 просмотра

какая версия keeper? 23.8 ?

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

Daniil-U Автор вопроса
Daniil-U Автор вопроса
Slach [altinity]
там нужно время на то чтобы кворум состоялся... е...

спустя часов 6 так и не активизировались 2 и 3 ноды...

Daniil U
спустя часов 6 так и не активизировались 2 и 3 нод...

плохо... думаю стоит сделать docker-compose.yaml + reproduce.sh и добавить на https://github.com/ClickHouse/ClickHouse/

Daniil-U Автор вопроса
Slach [altinity]
плохо... думаю стоит сделать docker-compose.yaml +...

Может что-то с конфигом не так? <clickhouse> <listen_host>host1</listen_host> <keeper_server> <tcp_port>9181</tcp_port> <server_id>2</server_id> <raft_configuration> <server> <id>1</id> <hostname>host1</hostname> <port>9234</port> <!-- <can_become_leader>true</can_become_leader> --> <priority>3</priority> </server> <server> <id>2</id> <hostname>host2</hostname> <port>9234</port> <!-- <can_become_leader>true</can_become_leader> <start_as_follower>true</start_as_follower> --> <priority>2</priority> </server> <server> <id>3</id> <hostname>host3</hostname> <port>9234</port> <!-- <can_become_leader>true</can_become_leader> <start_as_follower>true</start_as_follower> --> <priority>1</priority> </server> </raft_configuration> </keeper_server> </clickhouse>

Daniil U
Может что-то с конфигом не так? <clickhouse> <...

priority это веса при выборе лидера...

Daniil-U Автор вопроса

т.е., по сути, лидером должен стартовать сервер №3?

Daniil U
т.е., по сути, лидером должен стартовать сервер №3...

нет, при выборе лидера если раскоментарить ваши параметры то у server с id 3 вероятность 1 / 6 , server.2 = 2 / 6 , server.1 = 3 / 6

Daniil U
т.е., по сути, лидером должен стартовать сервер №3...

можете данные почистить все для кипара и заново запустить? вы где запускаете это все? docker compose?

Daniil-U Автор вопроса
Slach [altinity]
можете данные почистить все для кипара и заново за...

нет, напрямую на 3х разных ВМ. кх кипер сделал как сервис https://kb.altinity.com/altinity-kb-setup-and-maintenance/altinity-kb-zookeeper/clickhouse-keeper-service/

Daniil U
нет, напрямую на 3х разных ВМ. кх кипер сделал как...

ок. почистите /var/lib/clickhouse-keeper/ и перезапустите... там по идее веса кворуме из конфигов один раз берутся и потом в /var/lib/clickhouse-keeper хранятся в NuRaft кишках

Daniil-U Автор вопроса
Daniil-U Автор вопроса

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
15
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно 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
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта