одна реплика.
Хочу добавить реплику в этот шард
Мне достаточно
- повторить конфигурацию по storate_policy
- добавить на работающей реплике хост с новой репликой, в remote_servers
- создать таблицу на новой реплике
CH подтянет все данные сам?
Версия: 20.10.6.27-2
таблица ReplicatedMergeTree? <remote_servers> это вообще про Distributed таблицы а не про ReplicatedMergeTree если вставляете в Distributed таблицу напрямую, то туда новую реплику в шард надо добавлять в самом конце, после того как данные отреплицируются в момент создания таблицы на новой реплике на новом хосте проверьте опции ENGINE=ReplicatedMergeTree(..вотут) у вас макрос replica должен быть правильно определен см. system.macros и xml конфиги после создания движок ReplicatedMergeTree зарегает новую реплику в Zookeeper см. SELECT * FROM system.zookeeper WHERE path='/тут путь который указывали в CREATE TABLE' FORMAT Vertical и версии clickhouse должны совпадать
Заметил такую вещь, - Создал табличку test в replica_1 - Залил данных - Создал такую же табличку в replica_2, данные залились - Удалил табличку на replica_2 - Попытался создать табличку на replica_2 еще раз и получаю такую ошибку: DB::Exception: File not found: /mnt/data_hdd/clickhouse-4-sh1-dev-cluster-01/clickhouse/store/a8a/a8a9fceb-05c7-4d4c-89c0-45ab85801418/format_version.txt В ZK вижу что осталась мета по replica_2 З.Ы. табличка такая: CREATE TABLE IF NOT EXISTS test ( `timestamp` DateTime, `applicationId` Int64, `date` Date, `my_interval` Int64, `count` Int64 ) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/{database}/{table}', '{replica}') PARTITION BY toYYYYMMDD(timestamp) ORDER BY date TTL timestamp + INTERVAL 178 DAY TO VOLUME 'cold_volume' SETTINGS storage_policy = 'moving_from_ssd_to_hdd'; Баг?
новая версия ClickHouse ? это движок БД Atomic лучше всего {uuid} макрос включать в путь
что то около новой 20.10.6.27-2
То есть как то так? ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/{database}/{table}/{uuid}', '{replica}')
да как то так но насколько я помню макросов {database} и {table} не опредено ... и лучше вместо них конкретные строковые значения использовать... а {uuid} вроде как генерируется движком Atomic в runtime не подгружая из <macros>
на Atomic в 20.9 перескачили
Можно можно, даже в руководстве это есть
а скиньте ссылку?
https://clickhouse.tech/docs/ru/engines/table-engines/mergetree-family/replication/#creating-replicated-tables
да действительно =) забавно https://github.com/ClickHouse/ClickHouse/commit/bb8e6af8327e5e13f1b615c41bb3b6a77297d48f не так давно добавили 3 месяца назад
есть такие макросы table / database, в k8s операторе как раз в доке написано так таблицы создавать, я недавно их добавил и в доку КХ
Обсуждают сегодня