246 lines
13 KiB
Plaintext
246 lines
13 KiB
Plaintext
|
= Локальная установка Entaxy на рабочую станцию или сервер.
|
|||
|
|
|||
|
__Alternative languages:__
|
|||
|
|
|||
|
* xref:windows-local-installation.adoc[English]
|
|||
|
|
|||
|
|
|||
|
== Введение.
|
|||
|
|
|||
|
В этой инструкции мы рассмотрим установку Entaxy. Установка на все ОС проходит аналогичным образом и отличается выбором соответствующих инсталляторов или использованием пакетных менеджеров.
|
|||
|
|
|||
|
|
|||
|
== Установка Java.
|
|||
|
|
|||
|
. Скачиваем и устанавливаем JAVA. Для работы Entaxy рекомендуется Java 11. Работа платформы протестирована на OpenJDK и LibericaJDK от BellSoft (https://libericajdk.ru/pages/downloads/)
|
|||
|
|
|||
|
. Создаем переменную окружения JAVA_HOME.
|
|||
|
|
|||
|
. Добавляем абсолютный путь к директории bin в системную переменную окружения PATH.
|
|||
|
|
|||
|
|
|||
|
== Дистрибутивы Entaxy
|
|||
|
|
|||
|
Сущетсвет несколько вариантов сборок Entaxy, которые доступны по адресу https://entaxy.ru/download
|
|||
|
|
|||
|
. `entaxy-assembly-compact*` - все-в-одном, брокер, бд и графический веб-интерфейс в одной сборке. См. xref:#_установка_all_in_one [Установка all-in-one]
|
|||
|
|
|||
|
. `entaxy-assembly*` - сборка без предустановленного графического веб-интерфейса. См. xref:#_установка_без_ui [Установка без UI]
|
|||
|
|
|||
|
. `entaxy-assembly-with-ui*` - сборка без предустановленного брокера сообщений. См. xref:#_установка_с_внешним_брокером [Установка с внешним брокером]
|
|||
|
|
|||
|
. Все компоненты устанавливаются отдельно. См. xref:#_покомпонентная_установка [Покомпонентная установка]
|
|||
|
|
|||
|
|
|||
|
== Установка all-in-one
|
|||
|
|
|||
|
. Распаковываем архив `entaxy-assembly-compact*`
|
|||
|
|
|||
|
. Распакованный архив лучше перенести в другое место, чтобы абсолютный путь до каталога приложения не был слишком длинным, также необходимо чтобы путь содержал только латинские символы и был без пробелов.
|
|||
|
|
|||
|
. Переходим в каталог `/bin` приложения и запускаем:
|
|||
|
- entaxy - для Linux
|
|||
|
- entaxy.bat - для Windows
|
|||
|
|
|||
|
. Немного ждем и проверяем, что система корректно запустилась см. xref:#_проверка_готовности_системы [Проверка готовности системы]
|
|||
|
|
|||
|
|
|||
|
== Установка без UI
|
|||
|
|
|||
|
. Распаковываем архив `entaxy-assembly*`
|
|||
|
|
|||
|
. Распакованный архив лучше перенести в другое место, чтобы абсолютный путь до каталога приложения не был слишком длинным, также необходимо чтобы путь содержал только латинские символы и был без пробелов.
|
|||
|
|
|||
|
. Переходим в каталог `/bin` приложения и запускаем:
|
|||
|
- entaxy - для Linux
|
|||
|
- entaxy.bat - для Windows
|
|||
|
|
|||
|
. Немного ждем и проверяем, что система корректно запустилась см. xref:#_проверка_готовности_системы [Проверка готовности системы]
|
|||
|
|
|||
|
. Веб-интерфейс можно установить, после запуска системы, командой (в консоли Карафа): `source scripts/entaxy-ui.install`
|
|||
|
|
|||
|
|
|||
|
== Установка с внешним брокером
|
|||
|
|
|||
|
. Для установки брокера смотрите инструкцию: xref:#_установка_и_настройка_брокера[Установка и настройка брокера]
|
|||
|
|
|||
|
. Распаковываем архив `entaxy-assembly-with-ui*`
|
|||
|
|
|||
|
. Распакованный архив лучше перенести в другое место, чтобы абсолютный путь до каталога приложения не был слишком длинным, также необходимо чтобы путь содержал только латинские символы и был без пробелов.
|
|||
|
|
|||
|
. Переходим в каталог `/bin` приложения и запускаем:
|
|||
|
- entaxy - для Linux
|
|||
|
- entaxy.bat - для Windows
|
|||
|
|
|||
|
. Немного ждем и проверяем, что система корректно запустилась см. xref:#_проверка_готовности_системы [Проверка готовности системы]
|
|||
|
|
|||
|
|
|||
|
== Покомпонентная установка
|
|||
|
|
|||
|
=== Установка и настройка БД.
|
|||
|
|
|||
|
Entaxy не привязана к какой-либо конкретной СУБД, но по умолчанию используется встроенная H2, в данной инструкции будет показано как установить и настроить систему на работу с БД Postgres.
|
|||
|
|
|||
|
. Скачиваем инсталятор с официального сайта (https://www.enterprisedb.com/downloads/postgres-postgresql-downloads).
|
|||
|
|
|||
|
. Запускаем установку. image:image/postgresql-installation-1.jpg[postgresql-installation]
|
|||
|
|
|||
|
. Оставляем все настройки по умолчанию и устанавливаем пароль `postgres`.
|
|||
|
|
|||
|
. Запускаем pgAdmin 4 и устанавливаем мастер пароль для приложения `postgres`. image:image/pgadmin-start.jpg[pgadmin-start]
|
|||
|
|
|||
|
. Добавляем подключение к локальному серверу БД.
|
|||
|
|
|||
|
. Выбираем доступную базу данных из списка и переходим в Query Tool, в котором выполняем sql запрос:
|
|||
|
|
|||
|
[source,sql]
|
|||
|
----
|
|||
|
CREATE USER "entaxy" WITH PASSWORD 'entaxy';
|
|||
|
----
|
|||
|
image:image/pgadmin-create-user.jpg[pgadmin-create-user]
|
|||
|
|
|||
|
[start=7]
|
|||
|
. Теперь в том же окне по очереди (по одной строчке) выполняем запросы для создания необходимых для Entaxy баз данных.
|
|||
|
|
|||
|
[source,sql]
|
|||
|
----
|
|||
|
CREATE DATABASE esb_entaxy;
|
|||
|
----
|
|||
|
|
|||
|
[source,sql]
|
|||
|
----
|
|||
|
GRANT ALL PRIVILEGES ON DATABASE esb_entaxy TO entaxy;
|
|||
|
----
|
|||
|
|
|||
|
[source,sql]
|
|||
|
----
|
|||
|
CREATE DATABASE cache;
|
|||
|
----
|
|||
|
|
|||
|
[source,sql]
|
|||
|
----
|
|||
|
GRANT ALL PRIVILEGES ON DATABASE cache TO entaxy;
|
|||
|
----
|
|||
|
|
|||
|
На этом настройка СУБД завершена.
|
|||
|
|
|||
|
|
|||
|
=== Установка и настройка брокера
|
|||
|
|
|||
|
В этой инструкции мы рассмотрим использование брокера сообщений Artemis.
|
|||
|
|
|||
|
. Скачиваем архив с официального сайта (https://activemq.apache.org/components/artemis/download/).
|
|||
|
|
|||
|
. Распаковываем архив и переходим в директорию bin.
|
|||
|
|
|||
|
. Запускаем в командной строке создание брокера `artemis create --user entaxy --password entaxy --allow-anonymous $ARTEMIS_HOME/brokers/entaxy-broker`.
|
|||
|
|
|||
|
. После создания брокера надо открыть файл `$ARTEMIS_HOME/brokers/entaxy-broker/etc/broker.xml` и проверить, что автоматическое удаление очередей и адресов отключено:
|
|||
|
|
|||
|
[source,xml]
|
|||
|
----
|
|||
|
<!--default for catch all-->
|
|||
|
<address-setting match="#">
|
|||
|
|
|||
|
<auto-delete-queues>false</auto-delete-queues>
|
|||
|
<auto-delete-addresses>false</auto-delete-addresses>
|
|||
|
|
|||
|
</address-setting>
|
|||
|
----
|
|||
|
|
|||
|
. Запускаем брокер сообщений `$ARTEMIS_HOME/brokers/entaxy-broker/bin/artemis run`
|
|||
|
|
|||
|
Установка брокера завершена.
|
|||
|
|
|||
|
|
|||
|
=== Установка Entaxy
|
|||
|
|
|||
|
. xref:#_установка_с_внешним_брокером [Выполняем установку Entaxy без брокера]
|
|||
|
|
|||
|
. xref:#_настройка_entaxy_на_внешнюю_базы_данных [Перенастраиваем Entaxy на внешнюю БД], установленную на предыдущем шаге.
|
|||
|
|
|||
|
|
|||
|
== Проверка готовности системы
|
|||
|
|
|||
|
Чтобы проверить, что все сервисы Entaxy готовы к работае, открываем следующий адрес в браузере http://localhost:8181/system/health
|
|||
|
|
|||
|
При полной готовности система выдаст следующую информацию:
|
|||
|
image:image/health-check.png[]
|
|||
|
|
|||
|
Если при первом запуске Entaxy Connections находится в статусе TEMPORARILY_UNAVAILABLE, необходимо перезапустить Entaxy.
|
|||
|
|
|||
|
== Настройка Entaxy на внешнюю базу данных
|
|||
|
|
|||
|
По умолчанию все сборки Entaxy используют встроенную БД H2.
|
|||
|
|
|||
|
Для того чтобы перенестроить Entaxy на использование внешней БД, нужно выполнить следующие шаги:
|
|||
|
|
|||
|
В каталоге `/etc` приложения:
|
|||
|
|
|||
|
. Найти файлы `org.ops4j.datasource-entaxy.esb.cache.cfg` и `org.ops4j.datasource-entaxy.esb.storage.cfg`
|
|||
|
|
|||
|
. Удалить их или переименовать путем добавления постфикса, например, `*.defaultdb`.
|
|||
|
|
|||
|
. Найти файлы `org.ops4j.datasource-entaxy.esb.cache.cfg.pg` и `org.ops4j.datasource-entaxy.esb.storage.cfg.pg` и удалить постфикс `.pg` из имени.
|
|||
|
|
|||
|
. Если при выполнении установки БД были указаны другие данные или была выполненна установка на другом хосте, то вводим соответствующие значения в файлах.
|
|||
|
|
|||
|
|
|||
|
== Тестирование.
|
|||
|
|
|||
|
Для проверки работоспособности платформы переходим к xref:../../connectors/uniform-exchange-service/tests/postman.adoc[инструкции по тестированию].
|
|||
|
|
|||
|
|
|||
|
== Кластерный запуск Entaxy
|
|||
|
|
|||
|
По умолчанию Entaxy использует мультикаст для поиска компонентов кластера по сети, необходимо убедиться что настройки вашего оборудования и файервол настроены для широковещания.
|
|||
|
|
|||
|
Чтобы два и более экземпляра соединились в кластер достаточно их запустить на разных хостах из одной подсети.
|
|||
|
|
|||
|
|
|||
|
=== Настройка статичных адресов узлов кластера
|
|||
|
|
|||
|
Если требуется указать статичные адреса узлов кластера поиска узлов, то это можно сделать в файле `/etc/hazelcast.xml`
|
|||
|
|
|||
|
- Выключаем мультикаст `<multicast enabled="false">`
|
|||
|
- Включаем ip `<tcp-ip enabled="true">`
|
|||
|
|
|||
|
например:
|
|||
|
[source,xml]
|
|||
|
----
|
|||
|
<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>
|
|||
|
----
|
|||
|
|
|||
|
Также можно задавать маски адресов:
|
|||
|
[source,xml]
|
|||
|
----
|
|||
|
<tcp-ip enabled="true">
|
|||
|
<interface>192.168.1.*</interface>
|
|||
|
</tcp-ip>
|
|||
|
----
|
|||
|
|
|||
|
|
|||
|
=== Проверка кластера
|
|||
|
|
|||
|
Чтобы понимать, что экземпляры соединились в кластер, выполняем следующую команду в одной из консолей карафа: `cluster:node-list`
|
|||
|
|
|||
|
image:image/cluster-note-list.png[]
|
|||
|
|
|||
|
|
|||
|
=== Запуск нескольких экземпляров на одном хосте
|
|||
|
|
|||
|
Для того чтобы запустить несколько экземпляров системы на одном хосте, необходимо в файле `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
|