аналогии с этим конфигом:
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
Я же правильно понимаю, что при падении одной ноды кипера, клик должен жить с оставшимися двумя?
какая версия keeper? 23.8 ?
там нужно время на то чтобы кворум состоялся... если продолжает расходиться, заводите issue вместе с воспроизводимым примером
да, самая последняя
спустя часов 6 так и не активизировались 2 и 3 ноды...
плохо... думаю стоит сделать docker-compose.yaml + reproduce.sh и добавить на https://github.com/ClickHouse/ClickHouse/
Может что-то с конфигом не так? <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>
priority это веса при выборе лидера...
т.е., по сути, лидером должен стартовать сервер №3?
нет, при выборе лидера если раскоментарить ваши параметры то у server с id 3 вероятность 1 / 6 , server.2 = 2 / 6 , server.1 = 3 / 6
можете данные почистить все для кипара и заново запустить? вы где запускаете это все? docker compose?
нет, напрямую на 3х разных ВМ. кх кипер сделал как сервис https://kb.altinity.com/altinity-kb-setup-and-maintenance/altinity-kb-zookeeper/clickhouse-keeper-service/
ок. почистите /var/lib/clickhouse-keeper/ и перезапустите... там по идее веса кворуме из конфигов один раз берутся и потом в /var/lib/clickhouse-keeper хранятся в NuRaft кишках
ок, попробую, спасибо
помогло! благодарю.
Обсуждают сегодня