В дальнейшем реплики кх буду перенесены в сварм.
> remote_servers проверяли?
да в system.clusters хосты и ip имеются
>порты из docker swarm проброшены чтобы сервер мог со swarm >data parts обмениваться?
проброшены следующие порты
ports:
- 8123:8123
- 9000:9000
ну смотрите логи /var/log/clickhouse-server/*.log как внутри swarm так и внутри server кроме 9000 еще надо пробросить 9009 и поскольку у вас один внутри swarm друго нет то надо еще задать interserver_http_port разный на server и в swarm И какой то из них пробросить... ну и тоже, ломиться в swarm как 127.0.0.1 на docker proxy такая себе идея...
В этом то и проблема что в логах чего-то подозрительного я не заметил. запрос уходит, но репликация не происходит. ошибок нет. Так я пробросил порт 9009 из swarm. Эффекта никакого не возимело. wget по этому порту успешно дергается из контейнера и из сервера > и поскольку у вас один внутри swarm друго нет то надо еще задать interserver_http_port разный на server и в swarm Не совсем понял. Имеется в виду чтобы в контейнере был не 9009, а какой нибудь другой? Зачем так делать? в целом вы говорите что это плохой сетап, если вторая реплика была бы в сварме и располагалась бы на другой ноде, то такой сетап норм?
нет, он плохой потому что версии clickhouse Разные ... ну как временное решение сойдет.. еще раз когда вы вставляете в ReplicatedMergeTree создается новый data part имя парта попадает в ZK и дальше реплики сами друг у друга эти парты целиком через interserver_http_port настройку... коннектятся они по тем хостам которые в system.clusters отображаются...
Ага, вот теперь все гораздо понятнее. Сейчас попробую запустить. Спасибо.
Обсуждают сегодня