10. Приложение 1
10.1. Основные объекты ADCM
Таблица 9. Основные объекты ADCM
Наименование |
Назначение |
|---|---|
Бандл |
Единица установки в ADCM. Архив, содержащий информацию, по процессу установки/эксплуатации поставляемого расширения. Существует два бандлов: кластерный, позволяет установить кластер и инфраструктурный – для добавления поддержки различных хост провайдеров. |
Хост |
Представление реального или виртуального хоста. Должен быть доступен по ssh. Каждый хост может быть добавлен только для настройки кластера. |
Провайдер |
То, что предоставляет хост. Например, у вас есть учетная запись Google Cloud. В этом случае вы создаете провайдера GCE, помещаете в него учетные данные, и он позволяет вам создать хост в GCE. |
Сервис |
Программное обеспечение, которое выполняет определенные функции |
Компонент |
Часть сервиса. Стандартный способ декомпозиции для сложных систем ПО. |
Кластер |
Набор служб, работающих на наборе хостов. Один кластер допускает только ограниченный набор видов услуг. Поэтому, если вы создаете кластер Hadoop из пакета Hadoop, добавить сервисы ADB из бандла ADB уже не выйдет. |
10.2. Пример yml – файла настройки ProStore
10.3. Пример application.yml файла для СМЭВ3-адаптер
10.4. Пример application.yml файла для REST-адаптер
10.5. Пример adg.yml для установки ADG
# Marked as SSO cluster
---
all:
vars:
ansible_user: vagrant
ansible_password: vagrant
cartridge_app_name: memstorage
cartridge_package_path: ../rpm/memstorage-0.3.2-0.rpm
cartridge_cluster_cookie: C5yOoacDyA
cartridge_failover_params:
mode: eventual
ansible_ssh_private_key_file: ~/.ssh/id_rsa
ansible_ssh_common_args: '-o IdentitiesOnly=yes -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no'
cartridge_defaults:
memtx_memory: 67108864
vinyl_memory: 0
hosts:
storage-1:
config:
advertise_uri: '192.168.99.9:3301'
http_port: 8181
memtx_memory: 5368709120 # 5 Gb
vinyl_memory: 32212254720 # 30 Gb
c-1:
config:
advertise_uri: '192.168.99.9:3302'
http_port: 8182
ip-1:
config:
advertise_uri: '192.168.99.9:3303'
http_port: 8183
out-task-1:
config:
advertise_uri: '192.168.99.9:3304'
http_port: 8184
sch-1:
config:
advertise_uri: '192.168.99.9:3305'
http_port: 8185
api-1:
config:
advertise_uri: '192.168.99.9:3306'
http_port: 8186
state-1:
config:
advertise_uri: '192.168.99.9:3307'
http_port: 8187
children:
adg-01:
vars:
ansible_host: 192.168.99.9
hosts:
storage-1:
c-1:
ip-1:
out-task-1:
sch-1:
api-1:
state-1:
storage_1_replicaset:
vars:
replicaset_alias: storage-1
weight: 2
failover_priority:
- storage-1
roles: ['app.roles.adg_storage']
hosts:
storage-1:
c_1_replicaset:
vars:
replicaset_alias: c-1
failover_priority:
- c-1
roles: ['app.roles.adg_kafka_connector', failover-coordinator]
hosts:
c-1:
ip_1_replicaset:
vars:
replicaset_alias: ip-1
failover_priority:
- ip-1
roles: ['app.roles.adg_input_processor']
hosts:
ip-1:
out_task_1_replicaset:
vars:
replicaset_alias: out-task-1
failover_priority:
- out-task-1
roles: ['app.roles.adg_output_processor']
hosts:
out-task-1:
sch_1_replicaset:
vars:
replicaset_alias: sch-1
failover_priority:
- sch-1
roles: ['app.roles.adg_scheduler']
hosts:
sch-1:
api_1_replicaset:
vars:
replicaset_alias: api-1
failover_priority:
- api-1
roles: ['app.roles.adg_api']
hosts:
api-1:
state_1_replicaset:
vars:
replicaset_alias: state-1
failover_priority:
- state-1
roles: ['app.roles.adg_state']
hosts:
state-1:
10.6. Пример config.yml для установки ADG
---
kafka_produce:
custom_properties:
log_level: '7'
properties:
kafka:
maxNumberOfMessagesPerPartition: 1
scheduler_tasks:
kafka_bootstrap:
bootstrap_connection_string: kafka_server_ip:9092
kafka_topics:
EMPLOYEES:
error_topic: err
schema_key: adb_upload_request
target_table: EMPLOYEES
schema_data: employees
success_topic: succ
kafka_consume:
custom_properties:
log_level: '7'
topics:
- EMPLOYEES
properties:
enable.auto.offset.store: 'false'
auto.offset.reset: earliest
enable.auto.commit: 'false'
group.id: tarantool-group-csv
partition.assignment.strategy: roundrobin
enable.partition.eof: 'false'
...
10.7. Пример cartridge.yml
# ---
# - name: Deploy my Tarantool Cartridge app
# hosts: all
# become: true
# become_user: root
# gather_facts: false
# tasks:
# - name: Import Tarantool Cartridge role
# import_role:
# name: tarantool.cartridge
# vars:
# cartridge_scenario:
# - edit_topology
---
- name: Deploy ADG
gather_facts: false
any_errors_fatal: true
become: true
become_user: root
hosts: all
roles:
- tarantool.cartridge