Merge Tree ?
Поддерживает любой движок, появилось в версии, когда завезли функцию репликации, т.е. очень давно
При выполнении запроса получаю тайм-аут. Кластер пока на две реплики и 1 шард, но реплики в докере хапущены, если добавить таблицу на каждой реплике отдельно то все ок, данные доезжают
обьявите user password в remote_servers для каждой реплики
<yandex> <remote_servers> <xxx> <shard> <replica> <host>xxx</host> <port>9000</port> <user>cluster</user> <password>{{ CH_CLUSTER_PASSWD }}</password> <internal_replication>true</internal_replication> </replica> <replica> <host>xxxx</host> <port>9000</port> <user>cluster</user> <password>{{ CH_CLUSTER_PASSWD }}</password> <internal_replication>true</internal_replication> </replica> </shard>
о чем вообще речь?
есть запрос CREATE TABLE db.table_04 ON CLUSTER '{cluster}' (x UInt32) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/{database}/table_04', '{replica}') ORDER BY x; при выполнении этого запроса получаю такую ошибку Code: 159, e.displayText() = DB::Exception: Watching task /clickhouse/task_queue/ddl/query-0000000009 is executing longer than distributed_ddl_task_timeout (=180) seconds. There are 2 unfinished hosts (0 of them are currently active), they are going to execute the query in background (version 20.3.21.2 (official build)) Если просто выполнить запрос не ON CLUSTER, а на каждой реплике, данные в таблицах реплицируются нормально, ZK работает. возможно это связано с тем, что CH на каждой реплике поднят в докере https://stackoverflow.com/questions/64947277/clickhouse-create-database-on-cluster-ends-with-timeout вот возможная проблема
Скорее всего. Я много раз объяснял тут в чате что локальные кх ищут свои задания в зк сравнивая свои имена и айпи. В докере конечно внутри у них имена и айпи другие.
прописал реплики как replica1.myname.com, в докере поменял /etc/hosts привязав айпишник внутри докера к replica1.myname.com и так на каждой реплике и все заработало. спасибо, хотя может есть и более красивое решение
Обсуждают сегодня