Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
Вы можете увеличить скорость обработки запросов за счет распределения данных на нескольких узлах (горизонтальное масштабирование), что позволит ускорить загрузку данных. Для этого необходимо выполнить следующие шаги:
1. Добавьте в Docker Swarmвсе используемые для загрузки сервера. Для этого необходимо сделать следующее:
на главном сервере выполните следующую команду для получения токена соединения для рабочих узлов:
docker swarm join-token worker
на остальных серверах, для добавления рабочей ноды, выполните команду с полученным токеном. Например:
убедитесь, что в Swarm указано нужное количество машин:
docker node ls
2. Добавьте лейблы на каждый сервер, начиная с главного, где необходимо подставить нужные идентификаторы нод. Обратите внимание, что цифра после v3-clickhouse меняется:
3. Внесите следующие изменения в файл /var/lib/visiology/scripts/v3/visiology3.yml:
скопируйте секции clickhouse-1 и jdbc-bridge-1 в количестве, равном количеству ваших серверов. В скопированных секциях необходимо заменить все единицы (1) на 2, 3, 4 и т.д. Пример (надо заменить цифры в строках 1, 24, 34, 44, 46, 56, 66):
Обратите внимание, что запятые должны быть во всех строках, кроме последней.
В каждой строке нужно поменять цифру на соответствующую в части Host={{ env "CLICKHOUSE_HOST_1" }}.
5. Внесите следующие изменения в файл /var/lib/visiology/scripts/v3/defaults.env:
добавьте следующие строки: CLICKHOUSE_HOST_2=clickhouse-2 CLICKHOUSE_HOST_3=clickhouse-3 и т.д.
добавьте следующие строки: JDBC_BRIDGE_HOST_2=jdbc-bridge-2 JDBC_BRIDGE_HOST_3=jdbc-bridge-3 и т.д.
Замените значения RefreshDataJob__ParallelWorkers и Hangfire__WorkerCount на количество баз данных Clickhouse, умноженное на 2, т.е. для четырех баз Clickhouse требуется указать значение 8.
Убедитесь, что есть пустая строка в конце файла.
6. Внесите следующие изменения в файл /var/lib/visiology/scripts/v3/backup-service.yml:
Замените поле CLICKHOUSE_HOSTS на CLICKHOUSE_HOSTS: ${CLICKHOUSE_HOST_1} ${CLICKHOUSE_HOST_2} и т.д.
7. Загрузите образы clickhouse, jdbc-bridge, cadvisor, node-exporter, promtail в память докера на каждом сервере.
8. Выполните следующую команду на главном сервере: