Необходимы шаги для реализации распределенного запроса clickhouse

Я установил clickhouse на 2 разных машинах A (96 ГБ ОЗУ, 32 ядра) и B (96 ГБ ОЗУ, 32 ядра), а также настроил реплику с помощью zookeeper. Я могу принимать и извлекать данные с обоих компьютеров, и репликация также работает нормально.

Теперь я хотел бы использовать 2 сервера clickhouse для одного запроса, чтобы улучшить его производительность.

Я пробовал использовать распределенный запрос, но мне не удалось его настроить, поэтому я могу предоставить четкие инструкции по реализации распределенного запроса.


person user3383468    schedule 28.12.2018    source источник


Ответы (1)


Если я вас правильно понял, распределенный запрос выполняется только на одном сервере с использованием обеих его реплик.

Чтобы исправить это, необходимо изменить стратегию выбора реплик балансировщиком нагрузки на in_order (она определена в user.xml (для изменения любых конфигураций используйте переопределения конфигурации)):

<yandex>
    <profiles>
        <default>
            <!-- .. -->
            <load_balancing>in_order</load_balancing>
        </default>
    </profiles>
    <!-- .. -->
</yandex>

Ссылки:

https://clickhouse.yandex/docs/en/operations/settings/settings/#load-balancing https://clickhouse.yandex/docs/en/operations/table_engines/distributed/

person vladimir    schedule 28.12.2018
comment
Я изменил баланс нагрузки, но все еще запрашиваю, используя ресурс одного сервера - person user3383468; 29.12.2018
comment
ВЫБЕРИТЕ имя, значение ИЗ system.settings ГДЕ имя IN ('max_parallel_replicas', 'distribution_product_mode', 'load_balancing') ┌─name──────────────────────┬─ value──── │ load_balancing │ in_order │ │ max_parallel_replicas │ 2 │ │ distribution_product_mode │ allow │ └───────────────────────────┴─ ─────────┘ - person user3383468; 29.12.2018
comment
ВЫБРАТЬ * ИЗ кластеров ┌─cluster─┬─shard_num─┬─shard_weight─┬─replica_num─┬─host_name──────host_address─┬─port─┬─is_local─┬─user────┬─default_database─ ┐ │ журналы │ 1 │ 1 │ 1 │ xx.xx.xx.142 │ xx.xx.xx.142 │ 9000 │ 1 │ по умолчанию │ │ │ журналы │ 1 │ 1 │ 2 │ xx.xx.xx.143 │ xx.xx.xx.143 │ 9000 │ 1 │ по умолчанию │ │ └─────────┴────────────┴──────────── ──┴─────────────┴───────────────┴───────────────┴─── ───┴──────────┴──────────┴─────────────────── - person user3383468; 29.12.2018
comment
Похоже, в вашем кластере всего ОДИН шард и две реплики. Один и тот же запрос не будет распараллеливаться между репликами, только между шардами. Вам необходимо перенастроить кластер, чтобы иметь более 1 осколка. Просмотрите эти статьи: github.com/yandex/ClickHouse/issues/2161 altinity.com/blog/2018/5 / 10 / - person vladimir; 30.12.2018