Замещение сервисов из состава AW
Замещение сервисов с awctl, общие сведения¶
Для того чтобы awctl корректно генерировала конфигурационный файлы при использовании внешних сервисом можно использовать следующий способ:
-
В конфигурационный файл профиля добавляем мнимый (dummy) сервер, на который выносим все сервисы которые хотим заменить внешними, на других хостах эти сервисы, соответственно, удаляем.
Пример, заменим db и clickhouse-server, тогда конфигурационный файл профиля, на первом этапе, будет выглядеть следующим образом:
aw: aw_home: /opt/aw/app aw_rel_type: inet aw_version: '1.35' log: file: awctl.log level: INFO with_extra_hosts: true with_traefik: false hosts: aw: services: - frontend - backend - widget-export - clear-storage - model-changes - model-sync - create-cache-dir - websocket - puppeteer - pgbouncer - rabbitmq - memcached - etl-broker - etl-airflow-db - etl-airflow - etl-spark - etl-api - etl-data-preview - etl-tasks - java-puller - file-puller - odata-puller - etl-pusher - etl-stats - etl-mlflow - etl-mlflow-db - auth-bridge - data-master - minio - minio-init - diag - clickhouse-parser - sender - file-builder - cron - swagger - traefik fakehost: services: - db - clickhouse-server
-
Чтобы команда
/opt/awctl/awctl gen <имя_профиля>
корректно отработала, нужно для мнимого сервера указать значение переменных:aw_host
иaw_user
, при этом не обязательно указывать реально существующий в сети IP-адрес (или имя сервера):aw: aw_home: /opt/aw/app aw_rel_type: inet aw_version: '1.35' log: file: awctl.log level: INFO with_extra_hosts: true with_traefik: false hosts: aw: aw_host: 192.168.0.15 aw_user: awbi services: - frontend - backend - widget-export - clear-storage - model-changes - model-sync - create-cache-dir - websocket - puppeteer - pgbouncer - rabbitmq - memcached - etl-broker - etl-airflow-db - etl-airflow - etl-spark - etl-api - etl-data-preview - etl-tasks - java-puller - file-puller - odata-puller - etl-pusher - etl-stats - etl-mlflow - etl-mlflow-db - auth-bridge - data-master - minio - minio-init - diag - clickhouse-parser - sender - file-builder - cron - swagger - traefik fakehost: aw_host: 10.10.0.10 aw_user: awbi services: - db - clickhouse-server
-
Для настоящих серверов в секции
env
добавляем необходимые переменные, указывающие на замещенные сервисы:После того как заместили необходимые сервисы продолжаем установку согласно инструкции по Распределенной установка AW.aw: aw_home: /opt/aw/app aw_rel_type: inet aw_version: '1.35' log: file: awctl.log level: INFO with_extra_hosts: true with_traefik: false hosts: env: DB_USERNAME: awbipg DB_PASSWORD: awbipgPass DB_NAME: workspace PGB_POSTGRESQL_HOST: 192.168.0.120 PGB_POSTGRESQL_PORT: 5432 CLICK_HOST: 192.169.0.100 CLICK_PORT: 8123 CLICK_DB: awbidb CLICK_MYSQL_PORT: 9004 CLICK_POSTGRESQL_PORT: 9005 CLICK_TIMEOUT: 36000 CLICK_TCP_PORT: 9000 CLICK_USER: awbiclk CLICK_PASS: awbiClickPass CLICK_SSL: false CLICK_ISCLUSTER: false CLICK_CLUSTER: '' aw: aw_host: 192.168.0.15 aw_user: awbi services: - frontend - backend - widget-export - clear-storage - model-changes - model-sync - create-cache-dir - websocket - puppeteer - pgbouncer - rabbitmq - memcached - etl-broker - etl-airflow-db - etl-airflow - etl-spark - etl-api - etl-data-preview - etl-tasks - java-puller - file-puller - odata-puller - etl-pusher - etl-stats - etl-mlflow - etl-mlflow-db - auth-bridge - data-master - minio - minio-init - diag - clickhouse-parser - sender - file-builder - cron - swagger - traefik fakehost: aw_host: 10.10.0.10 aw_user: awbi services: - db - clickhouse-server
Список сервисов допустимых к замещению¶
-
db ( PostgreSQL, версия 13.15) - основная БД для хранения данных о пользователях, моделях, источниках и т.п. Переменные, значение которых, необходимо изменить при замещении сервиса:
- DB_USERNAME
- DB_PASSWORD
- DB_NAME
- PGB_POSTGRESQL_HOST
- PGB_POSTGRESQL_PORT
-
clickhouse-server - основное хранилище данных моделей. Переменные, значение которых, необходимо изменить при замещении сервиса:
- CLICK_HOST
- CLICK_PORT
- CLICK_DB
- CLICK_MYSQL_PORT
- CLICK_POSTGRESQL_PORT
- CLICK_TIMEOUT
- CLICK_TCP_PORT
- CLICK_USER
- CLICK_PASS
- CLICK_SSL
- CLICK_ISCLUSTER
- CLICK_CLUSTER
-
rabbitmq - обмен сообщениями между сервисами, межсервисное взаимодействие. Переменные, значение которых, необходимо изменить при замещении сервиса:
- RABBIT_HOST
- RABBIT_PORT
- RABBIT_USER
- RABBIT_PASS
-
memcached - кэширование данных. Переменные, значение которых, необходимо изменить при замещении сервиса:
- MEMCACHED_HOST
- MEMCACHED_PORT
-
redis - межсервисное взаимодействие. Переменные, значение которых, необходимо изменить при замещении сервиса:
- ETL_MONITOR_BROKER_URL
- ETL_BROKER_URL
- ETL_STATS_TASKS_BROKER_URL
-
etl-airflow-db (PostgreSQL) - БД для airflow. Переменные, значение которых, необходимо изменить при замещении сервиса:
- ETL_AIRFLOW_DB_CONNECTION
- ETL_AIRFLOW_CELERY_RESULT_BACKEND
-
minio - переменные, значение которых, необходимо изменить при замещении сервиса:
- MINIO_USERNAME
- MINIO_PASSWORD
- MINIO_BUCKET
- MINIO_CONTAINER
- ML_FLOW_S3_ENDPOINT_URL
- ML_FLOW_S3_USERNAME
- ML_FLOW_S3_PASSWORD
- ETL_MODEL_STORAGE_S3_URL
- ETL_STATS_S3_URL
- ETL_S3_URL
- AW_S3_URL
- ODATA_PULLER_S3_URL