1ой вмке с кликхаусами ( пусть будут называться ch ). Порты 2181 и 9000 проксируются в том числе через публичный адрес выделенных серверов, то есть из вмки A-ch доступны порты A:2181 A:9000 B:2181 и тд. Так вот если в конфиге указывать публичные адреса выделенных серверов, то кластеризация не работает:
- все команды с приставкой on cluster '{cluster}'; не выполняются
- репликация так же не работает
Конфиг с публичными адресами:
<zookeeper-servers>
<node index="1">
<host>белый айпи А</host>
<port>2181</port>
</node>
<node index="2">
<host>белый айпи B</host>
<port>2181</port>
</node>
<node index="3">
<host>белый айпи C</host>
<port>2181</port>
</node>
</zookeeper-servers>
<clickhouse_remote_servers>
<fmk>
<shard>
<replica>
<host>белый айпи А</host>
<port>9000</port>
</replica>
<replica>
<host>белый айпи B</host>
<port>9000</port>
</replica>
<replica>
<host>белый айпи C</host>
<port>9000</port>
</replica>
</shard>
</fmk>
</clickhouse_remote_servers>
При этом если вместо белых айпи указывать серые адреса до непосредственно вмок, то все норм работает, почему так?
https://clickhouse.com/docs/en/operations/server-configuration-parameters/settings/#interserver-http-host пропишите
чето не помогают манипуляции с этой настройкой, пробовал там серый айпи прописать, но эффекта никакого
белый IP Там прописывайте... раз в у вас пробрасывание идет порта
тогда я не понимаю задумку, я хочу чтобы в конфигах реплики были прописаны белые айпи адреса (так как хочу заюзать яндекс datatransfer, а он судя по всему берет айпи адреса из system.clusters), с белым айпи адресом в interserver_http_host тоже не заработала репликация
репликация и system.clusters вообще никак не связаны репликация на путь в zookeeper завязана и на имя реплики в <macros> определите <replica>публичный_ip</replica> чтобы разные на разных нода была а потом таблицы пересоздайте чтобы Engine=ReplicatedMergeTree('...','{replica}') должно заработать
я вероятно немного не так выразился, в варианте когда в конфиге прописаны белые айпи адреса я ловлю таймаут на любых запросах кластерных, которые даже не привязаны к таблицам, например create role if not exists test on cluster '{cluster}'; при этом этот же запросв успешно выполнится на всех нодах, если в конфиге прописаны серые адреса
у вас zookeeper или clickhouse keeper?
один сервер или несколько? каждый зукипер рядом с clickhouse в одной виртуалке или в соседней?
3 сервера, каждый зукипер в той же виртуалке, что и кликхаус
как секция zookeeper выглядит внутри clickhouse? 127.0.0.1:2181 ? или несколько серверов? сервера zookeeper друг о друге знают? как они кворум устанавливают? должны по белым IP соединятся раз у вас сеть между виртуалками через проброс портов
<zookeeper-servers> <node index="1"> <host>белый А</host> <port>2181</port> </node> <node index="2"> <host>белый Б</host> <port>2181</port> </node> <node index="3"> <host>белый С</host> <port>2181</port> </node> </zookeeper-servers> зукиперы дург о друге знают по серым айпи адресам, получается конфиги зукипера тоже надо переделать под белые адреса?
а как они тогда кворум устанавливают если не могут по серым IP соединиться ? не должно быть такого смотрите в zoo.cfg в зукипере конфиг внимательно
там server.1 , server.2, server.3 в zoo.cfg как прописаны?
по серым айпи адресам они все могут соединиться zookeeper_servers: "server.1": "0.0.0.0:2888:3888" "server.2": "192.168.202.11:2888:3888" "server.3": "192.168.203.11:2888:3888"
это как? вы ж сказали что у вас с серыми адресами не работает кластеризация ... по моему вы в показаниях путаетесь на виртуалке 192.168.201.11 ping 192.168.203.11 работает?
Обсуждают сегодня