Используемая система виртуализации: **VirtualBox 7.0.10** Тестовый стенд: **4** **виртуальные машины** под управлением **ОС** **CentOS7** CentOS7-ADCM **(IP: 192.168.1.114/24)** CentOS7-VM1-DB **(IP: 192.168.1.115/24)** CentOS7-VM2-DB **(IP: 192.168.1.116/24)** CentOS7-VM3-DB **(IP: 192.168.1.117/24)** ![](https://hackmd.io/_uploads/SkFZUlgh2.png) Начинаем установку **Arenadata CM** на отдельную виртуальную машину, которая специальдо предназначена для этого. Переходим на сайт и следуем документации при развертывании: https://docs.arenadata.io/ Выполним первоначальные требования перед установкой. Отредактируем файл **/etc/sudoers**, чтобы впоследствии пользователи **ADCM** обладали необходимыми правами. ![](https://hackmd.io/_uploads/SkDiDegn3.png) Обновляем программные пакеты, установленные в системе, ставим и запускаем службу **Docker**. ![](https://hackmd.io/_uploads/ryHhuxl33.png) Останавливаем службу **firewalld**. ![](https://hackmd.io/_uploads/SJZxYgg22.png) Далее переходим к онлайл-установке **Arenadata CM** с использованием **Docker-образа**. Подтягиваем образ из **Arenadata Docker Registry** и создаем Docker-контейнер на основе загруженного образа. *p.s. столкнулся с трудностями при подключении к web-интерфейсу ADCM по localhost на виртуальной машине, поэтому команда создания образа несколько отличается от мануала.* ![](https://hackmd.io/_uploads/SJ6iYeg3n.png) Настраиваем автозапуск контейнера **ADCM** в случае непредвиденных ошибок. ![](https://hackmd.io/_uploads/HkUDqxxhn.png) Проверка доступности порта **8000** и проверка **URL-соединения**. ![](https://hackmd.io/_uploads/HkFC-bl2n.png) Проверка web-интерфейса **ADCM**. ![](https://hackmd.io/_uploads/rkoWfZx23.png) Далее перейдем к настройке и подготовке хостов для последующего объединения их в кластер и поднятия БД на кластере. Перейдём к добавлению хостпровайдера **SSH**. Скачаем и импортируем бандл **SSH Common Bundle** в **ADCM**. ![](https://hackmd.io/_uploads/rkFLVblh3.png) После успешной загрузки бандл отображается на вкладке **BUNDLES**. ![](https://hackmd.io/_uploads/rkc_VZln2.png) Далее создадим в **ADCM** новый хостпровайдер на базе загруженного бандла. ![](https://hackmd.io/_uploads/ByHANWln3.png) Теперь перейдем к добавлению хостов в **ADCM** на основе хостпровайдера **SSH**. *p.s. ВАЖНО!!! Наши хосты имеют возможность подключения к ним по SSH.* ![](https://hackmd.io/_uploads/BkCGUZg2n.png) Создадим 3 хоста для наших оставшихся виртуальных машин. ![](https://hackmd.io/_uploads/rJnf1Ggnn.png) Далее перейдём и их настройке и заполним необходимые поля. ![](https://hackmd.io/_uploads/Sk6W_bx3n.png) Установим **statuschecker** на все хосты. Он будет периодически проверять состояние служб и компонентов, установленных на хосты кластера через **ADCM**. ![](https://hackmd.io/_uploads/SkbROZl22.png) Теперь можно переходить к созданию кластера. Для начала скачаем и импортируем бандл **Arenadata DB**. ![](https://hackmd.io/_uploads/BywhY-e2n.png) Создадим кластер на базе загруженного бандла. ![](https://hackmd.io/_uploads/Sy619Zlhh.png) Далее добавим сервисы в кластер. ![](https://hackmd.io/_uploads/HkFu5bl2h.png) После чего добавим хосты в кластер. ![](https://hackmd.io/_uploads/BJDE1zghn.png) Распределим компоненты по хостам и сохраним конфигурацию. ![](https://hackmd.io/_uploads/rkVdLfln2.png) Выполним конфигурирование сервиса **ADB**. ![](https://hackmd.io/_uploads/BydzWGl2n.png) Произведем конфигурирование кластера. ![](https://hackmd.io/_uploads/rJeKZGl33.png) Перед установкой кластера проверим корректность отработки всех действий функцией **Precheck**. Все отрабатывает корректно. ![](https://hackmd.io/_uploads/BJdHDzlnn.png) Выполняем установку кластера с последующей перезагрузкой системы. ![](https://hackmd.io/_uploads/rkhYwGgh3.png) Проверка статуса кластера после установки. В результате успешной установки происходит обновление статуса кластера и его сервисов. ![](https://hackmd.io/_uploads/Sk_69Gg32.png) Статусы сервисов ADB после установки: ![](https://hackmd.io/_uploads/BJ4gifxnn.png) Создадим базу данных по умолчанию. ![](https://hackmd.io/_uploads/ryzHjfxnn.png) Для проверки, что база данных добавлена успешно, подключимся к Master-серверу **ADB** через **SSH** под пользователем **gpadmin** и выполним команду **psql -l**. База успешно было создана! ![](https://hackmd.io/_uploads/ry0k2Mg2n.png) Подключимся к **БД adb** командой **psql adb** и подаботаем с ней. Для начала создадим таблицу **user_table**, выполнив запрос. ![](https://hackmd.io/_uploads/By0oZVg2h.png) Таблица успешно создана. Проверим её создание командой **\dt**. ![](https://hackmd.io/_uploads/HkFQ5Vl23.png) Выполним простейший запрос на добавление записей в таблицу и после чего выведем содержимое таблицы. ![](https://hackmd.io/_uploads/HJjc9Vl2n.png) Поэксперементируем с различными запросами на выборку данных. ![](https://hackmd.io/_uploads/H1aK6Vx2h.png) Удалим данные из таблицы ![](https://hackmd.io/_uploads/ByhKR4lnh.png)