даже создал тут issue - https://github.com/ClickHouse/ClickHouse/issues/38270, но что-то до конца я так и не понял верный алгоритм в моем кейсе.
Кейс такой, изначально есть 4 clickhouse ноды (2 shard x 2 replica), на 3ех из них рядом с clickhouse работает clickhouse-keeper.
Предположим, что по какой-то причине одна нода временно умерла (нода, где так же работал clickhouse keeper), кластер продолжает работать (2 кипера по прежнему живут).
Дальше я хочу включить потухшую ноду в clickhouse cluster, а так же обратно добавить эту ноду в clickhouse keeper кластер. Предположим, нода после восстановления имеет новый ip адрес, соответственно мне нужно обновить конфигурацию у всех участников: <keeper_server>, <zookeeper>, <remote_servers> секции.
Дальше пробую стартовать (clickhouse restart/start) на всех нодах:
1. В логах вижу в целом причину, ноды стучаться в старый ip адрес, не могу понять почему не учитываются обновленные конфиги, где указал новый ip адрес?
2. Так же нашел лог, который отчасти поясняет ситуацию
Config will be ignored because a server with ID 1 is already present in the cluster on a different endpoint (old_instance_ip:9444). The endpoint of the current servers should not be changed. For servers on a new endpoint, please use a new ID.
Выходит, если я хочу добавить нового участника с новым ip я должен так же изменить server_id в
<clickhouse>
<keeper_server>
<server_id>new_server_id</server_id>
</keeper_server>
</clickhouse>?
> не могу понять почему не учитываются обновленные конфиги, где указал новый ip адрес? структура ансамбля хранится в базе кипера >Выходит, если я хочу добавить нового участника с новым ip я должен так же изменить server_id в кажется да @salttan ?
> конфиги, где указал новый ip адрес? да, конфиги с обновленным ip подкинул всем участникам, старый больше нигде не фигурирует с точки зрения настроек
Обсуждают сегодня