Локальная установка Entaxy на рабочую станцию или сервер

Введение.

В этой инструкции мы рассмотрим установку Entaxy. Установка на все ОС проходит аналогичным образом и отличается выбором соответствующих инсталляторов или использованием пакетных менеджеров.

Установка Java.

  1. Скачиваем и устанавливаем JAVA. Для работы Entaxy требуется Java 11. Работа платформы протестирована на OpenJDK и LibericaJDK от BellSoft (https://libericajdk.ru/pages/downloads/)

  2. Создаем переменную окружения JAVA_HOME.

  3. Добавляем абсолютный путь к директории bin в системную переменную окружения PATH.

Дистрибутивы Entaxy

Существует несколько вариантов сборок Entaxy, которые доступны по адресу https://entaxy.ru/download

  1. entaxy-assembly-compact* - все-в-одном, брокер, бд и графический веб-интерфейс в одной сборке. См. Установка all-in-one

  2. entaxy-assembly-with-ui* - сборка без предустановленного брокера сообщений. См. Установка с внешним брокером

  3. entaxy-assembly* - сборка без предустановленного графического веб-интерфейса. См. Установка без UI

  4. Все компоненты устанавливаются отдельно. См. Покомпонентная установка

Установка all-in-one

  1. Распаковываем архив entaxy-assembly-compact*

  2. Распакованный архив лучше перенести в другое место, чтобы абсолютный путь до каталога приложения не был слишком длинным, также необходимо чтобы путь содержал только латинские символы и был без пробелов.

  3. Переходим в каталог /bin приложения и запускаем:

    • entaxy - для Linux

    • entaxy.bat - для Windows

  4. Немного ждем и проверяем, что система корректно запустилась см. Проверка готовности системы

Установка с внешним брокером

  1. Для установки брокера смотрите инструкцию: Установка и настройка брокера

  2. Распаковываем архив entaxy-assembly-with-ui*

  3. Распакованный архив лучше перенести в другое место, чтобы абсолютный путь до каталога приложения не был слишком длинным, также необходимо чтобы путь содержал только латинские символы и был без пробелов.

  4. Переходим в каталог /bin приложения и запускаем:

    • entaxy - для Linux

    • entaxy.bat - для Windows

  5. Немного ждем и проверяем, что система корректно запустилась см. Проверка готовности системы

Установка без UI

  1. Распаковываем архив entaxy-assembly*

  2. Распакованный архив лучше перенести в другое место, чтобы абсолютный путь до каталога приложения не был слишком длинным, также необходимо чтобы путь содержал только латинские символы и был без пробелов.

  3. Переходим в каталог /bin приложения и запускаем:

    • entaxy - для Linux

    • entaxy.bat - для Windows

  4. Немного ждем и проверяем, что система корректно запустилась см. Проверка готовности системы

  5. Веб-интерфейс можно установить, после запуска системы, командой (в консоли Карафа): source scripts/entaxy-ui.install

Покомпонентная установка

Установка и настройка БД.

Entaxy не привязана к какой-либо конкретной СУБД, но по умолчанию используется встроенная H2, в данной инструкции будет показано как установить и настроить систему на работу с БД Postgres.

  1. Скачиваем инсталлятор с официального сайта (https://www.enterprisedb.com/downloads/postgres-postgresql-downloads).

  2. Запускаем установку. postgresql-installation

  3. Оставляем все настройки по умолчанию и устанавливаем пароль postgres.

  4. Запускаем pgAdmin 4 и устанавливаем мастер пароль для приложения postgres. pgadmin-start

  5. Добавляем подключение к локальному серверу БД.

  6. Выбираем доступную базу данных из списка и переходим в Query Tool, в котором выполняем sql запрос:

CREATE USER "entaxy" WITH PASSWORD 'entaxy';

pgadmin-create-user

  1. Теперь в том же окне по очереди (по одной строчке) выполняем запросы для создания необходимых для Entaxy баз данных.

CREATE DATABASE esb_entaxy;
GRANT ALL PRIVILEGES ON DATABASE esb_entaxy TO entaxy;
CREATE DATABASE cache;
GRANT ALL PRIVILEGES ON DATABASE cache TO entaxy;

На этом настройка СУБД завершена.

Установка и настройка брокера

В этой инструкции мы рассмотрим использование брокера сообщений Artemis.

  1. Скачиваем архив с официального сайта (https://activemq.apache.org/components/artemis/download/).

  2. Распаковываем архив и переходим в директорию bin.

  3. В этом документе $ARTEMIS_HOME - полный путь к каталогу, в который был извлечен дистрибутив ActiveMQ.

  4. Запускаем в командной строке создание брокера artemis create --user entaxy --password entaxy --allow-anonymous $ARTEMIS_HOME/brokers/entaxy-broker.

  5. После создания брокера надо открыть файл $ARTEMIS_HOME/brokers/entaxy-broker/etc/broker.xml и проверить, что автоматическое удаление очередей и адресов отключено:

<!--default for catch all-->
<address-setting match="#">

    <auto-delete-queues>false</auto-delete-queues>
    <auto-delete-addresses>false</auto-delete-addresses>

</address-setting>
  1. Запускаем брокер сообщений $ARTEMIS_HOME/brokers/entaxy-broker/bin/artemis run

Установка брокера завершена.

Установка Entaxy

Проверка готовности системы

Чтобы проверить, что все сервисы Entaxy готовы к работе, открываем следующий адрес в браузере http://localhost:8181/system/health

При полной готовности система выдаст следующую информацию: health check

Если при первом запуске Entaxy Connections находится в статусе TEMPORARILY_UNAVAILABLE, необходимо перезапустить Entaxy.

Настройка Entaxy на внешнюю базу данных

По умолчанию все сборки Entaxy используют встроенную БД H2.

Для того чтобы перенастроить Entaxy на использование внешней БД, нужно выполнить следующие шаги:

В каталоге /etc приложения:

  1. Найти файлы org.ops4j.datasource-entaxy.esb.cache.cfg и org.ops4j.datasource-entaxy.esb.storage.cfg

  2. Удалить их или переименовать путем добавления постфикса, например, *.defaultdb.

  3. Найти файлы org.ops4j.datasource-entaxy.esb.cache.cfg.pg и org.ops4j.datasource-entaxy.esb.storage.cfg.pg и удалить постфикс .pg из имени.

  4. Если при выполнении установки БД были указаны другие данные или была выполнена установка на другом хосте, то вводим соответствующие значения в файлах.

Тестирование.

Для проверки работоспособности платформы переходим к инструкции по тестированию.

Кластерный запуск Entaxy

По умолчанию Entaxy использует мультикаст для поиска компонентов кластера по сети, необходимо убедиться что настройки вашего оборудования и файервол настроены для широковещания.

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

Настройка общего репозитория бандлов

Для корректной работы кластера Entaxy необходимо в файле /opt/karaf/etc/ru.entaxy.esb.artifact.repositories.cfg заменить свойство shared.location={karaf.home}/shared-repo на путь к общей директории.

Например, на: /mnt/entaxy/shared-repo

Настройка статичных адресов узлов кластера

Если требуется указать статичные адреса узлов кластера поиска узлов, то это можно сделать в файле /etc/hazelcast.xml

  • Выключаем мультикаст <multicast enabled="false">

  • Включаем ip <tcp-ip enabled="true">

например:

<multicast enabled="false">
    <multicast-group>224.2.2.3</multicast-group>
    <multicast-port>54327</multicast-port>
</multicast>
<tcp-ip enabled="true">
    <interface>127.0.0.1</interface>
</tcp-ip>

Также можно задавать маски адресов:

<tcp-ip enabled="true">
    <interface>192.168.1.*</interface>
</tcp-ip>

Проверка кластера

Чтобы понимать, что экземпляры соединились в кластер, выполняем следующую команду в одной из консолей карафа: cluster:node-list

cluster note list

Запуск нескольких экземпляров на одном хосте

Для того чтобы запустить несколько экземпляров системы на одном хосте, необходимо в файле etc/entaxy.properties изменить значения свойств:

  • entaxy.rmiRegistryPort

  • entaxy.rmiServerPort

  • entaxy.jmxmpPort

  • entaxy.sshPort

  • entaxy.org.osgi.service.http.port

  • entaxy.service.port.management

  • entaxy.service.port.subscription

Настройка подключения к Apache ActiveMQ Artemis

Важно: эти изменения нужно делать до запуска Entaxy.

Чтобы обеспечить корректную работу с Apache ActiveMQ Artemis в среде Entaxy, если Artemis не установлен локально, необходимо выполнить следующие шаги:

В файле etc/init/entaxy-platform-connections.json(скачать entaxy-platform-connections) в разделе "properties" пропишите следующие параметры:

  • "url": "(URL-адрес сервера Artemis)"

  • "username": "имя пользователя для доступа к серверу"

  • "password": "пароль пользователя для доступа к серверу"

Пример:
В данном примере, замените "other-artemis-server" на реальный адрес вашего удаленного сервера Apache ActiveMQ Artemis, а также укажите корректные данные для "username" и "password".

{
  "connections": [
    {
      "nodeType": "connection",
      "uuid": "connection-uuid-2",
      "name": "entaxy-broker",
      "adapterName": "artemisAdapter",
      "platform": true,
      "pathParameter": "queue:entaxy.default",
      "properties": {
        "url": "(tcp://other-artemis-server:61616)",
        "username": "username",
        "password": "password",
        "maxConnections": "20",
        "maxSessionsPerConnection": "100"
      }
    }
  ]
}

Для использования нескольких адресов укажите их разделив запятыми:
Важно: Не разрешается ставить пробелы между адресами.

{
  "connections": [
    {
      "nodeType": "connection",
      "uuid": "connection-uuid-2",
      "name": "entaxy-broker",
      "adapterName": "artemisAdapter",
      "platform": true,
      "pathParameter": "queue:entaxy.default",
      "properties": {
        "url": "(tcp://other-artemis-server1:61616,tcp://other-artemis-server2:61616)",
        "username": "username",
        "password": "password",
        "maxConnections": "20",
        "maxSessionsPerConnection": "100"
      }
    }
  ]
}

Обеспечение доступа к общим ресурсам в кластере

Важно: эти изменения нужно делать до запуска Entaxy.

Если платформа Entaxy функционирует в кластерной конфигурации требуется учесть, что общие ресурсы, которые хранятся в папке shared, должны быть доступны для всех экземпляров Entaxy в кластере.

Папка shared — это специально выделенное место, где хранятся ресурсы, используемые компонентами в рамках интеграционной платформы. Эти ресурсы включают данные, файлы, конфигурации и другие элементы, необходимые для согласованной работы системы в целом. При запуске платформы Entaxy коннекция, настроенная по умолчанию, будет ориентироваться на эту папку.

Для этого вам следует внести соответствующие изменения в путь к папке shared:

В файле etc/init/file-connections.json (скачать file-connections.json) в разделе "connections" укажите следующие настройки:

  • "rootDirectory": измените путь на путь к директории, где будут храниться общие ресурсы.

  • "createResourceProvider": убедитесь, что это значение установлено в true, чтобы обеспечить создание ресурс-провайдера.

Пример:

В данном примере указаны локальные пути к папке shared ("data/shared", "data/shared/.entaxy"), замените их на пути соответствующие вашим настройкам.

{
  "connections": [
    {
      "factoryId": "file-connection",
      "objectId": "entaxy-file",
      "properties": {
        "rootDirectory": "data/shared",
        "createResourceProvider": true
      }
    },
    {
      "factoryId": "file-connection",
      "objectId": "entaxy-file-internal",
      "properties": {
        "rootDirectory": "data/shared/.entaxy",
        "createResourceProvider": true
      }
    }
  ]
}