<?xml version="1.0"?>
<yandex>
<listen_host>0.0.0.0</listen_host>
<zookeeper-servers>
<node index="1">
<host>node1</host>
<port>2181</port>
</node>
<node index="2">
<host>node2</host>
<port>2181</port>
</node>
<node index="3">
<host>node3</host>
<port>2181</port>
</node>
</zookeeper-servers>
<macros>
<shard>1</shard>
<replica>rmm</replica>
</macros>
</yandex>
Вот создание реплицированной таблицы:
CREATE TABLE table_name
(
EventDate DateTime,
CounterID UInt32,
UserID UInt32,
ver UInt16
) ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/{shard}/table_name', '{replica}', ver)
PARTITION BY toYYYYMM(EventDate)
ORDER BY (CounterID, EventDate, intHash32(UserID))
SAMPLE BY intHash32(UserID);
Получаю следующую ошибку:
Code: 62. DB::Exception: Received from localhost:9000. DB::Exception: No macro 'shard' in config while processing substitutions in '/clickhouse/tables/{shard}/table_name' at '20' or macro is not supported here. (SYNTAX_ERROR)
Но macro shard ведь у меня указан. Что делаю не так?
Посмотрел внимательнее. Если одна реплика на три узла - поставь 01 01 в макросах.
Обсуждают сегодня