Установка модулей ядра
Установка JRE 21
Все модули ядра требуют наличия на хосте JRE 21. Мы рекомендуем установку JRE 21 от Adoptium (Eclipse Temurin).
Ниже дана инструкция по установке JRE 21 на ОС Ubuntu 22-24 и AstraLinux 1.7 - 1.8.
Перейдите в /etc/apt и раскомментируйте все закомментированные строки:
sudo vim sources.list
sudo vim sources.list~1. Обновление пакетов системы
Перед установкой обновите список пакетов:
sudo apt update && sudo apt upgrade -y2. Установка зависимостей
Убедитесь, что установлены необходимые зависимости:
sudo apt install -y wget apt-transport-https gnupg3. Добавление репозитория Adoptium (Eclipse Temurin)
## Импортируйте GPG-ключ
sudo mkdir -p /etc/apt/keyrings
wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo tee /etc/apt/keyrings/adoptium.asc
## Добавьте репозиторий в `sources.list`
echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | sudo tee /etc/apt/sources.list.d/adoptium.list
## Обновите список пакетов:
sudo apt update## В репозиториях астры нет stable-версии openjdk-21, поэтому сначала скачиваем её из официального репозитория adoptium
wget https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.7%2B6/OpenJDK21U-jdk_x64_linux_hotspot_21.0.7_6.tar.gz
## Разархивируем архв с java в /opt
sudo tar xzhf OpenJDK21U-jdk_x64_linux_hotspot_21.0.7_6.tar.gz -C /opt4. Установка JRE 21
sudo apt install -y temurin-21-jresudo update-alternatives --install /usr/bin/java java /opt/jdk/bin/java 100
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/bin/javac 1005. Проверка установки
Убедитесь, что Java установлена корректно:
java -versionВывод должен быть примерно таким:
openjdk version "21.x.x" 2023-xx-xx
OpenJDK Runtime Environment Temurin-21.x.x+xx (build 21.x.x+xx)
OpenJDK 64-Bit Server VM Temurin-21.x.x+xx (build 21.x.x+xx, mixed mode, sharing)6. Настройка переменной окружения JAVA_HOME (опционально)
Установить JAVA_HOME:
- Найдите путь к Java:Скопируйте путь (без
sudo update-alternatives --config java/bin/java), например:/usr/lib/jvm/temurin-21-jre-amd64 - Откройте
/etc/environmentи добавьте строку:Добавьте:sudo nano /etc/environmentJAVA_HOME="/usr/lib/jvm/temurin-21-jre-amd64" - Примените изменения:
source /etc/environment echo $JAVA_HOME # проверка
Подготовка хранилищ
Для создания всех артефактов в хранилищах и приведение информационной модели к требуемой версионности необходимо предварительно
запустить модуль migrator.jar
Настройте в application.yml подключения к БД.
spring:
datasource:
url: jdbc:postgresql://192.168.1.13:5432/semdb?currentSchema=sem
username: postgres
password: postgresИ настройки подключения к Cassandra, задать имя датацентра, ноды и учетные данные для подключения:
# хранилище sem-next
store:
# тип хранилища (POSTGRES, CASSANDRA)
type: CASSANDRA
# настройки, специфичные для хранилища CASSANDRA
cassandra:
# Ноды кассандры для подключения, одна или более. Формат host1:port1,host2:port2,.... Пример 192.168.0.14:9042.
nodes: 192.168.0.14:9042
# Имя датацентра кассандры (см nodetool status)
datacenter: datacenter1
# имя пользователя для авторизованного доступа
username: cassandra
# пароль пользователя для авторизованного доступа
password: cassandraВ случае если Cassandra не используется, следует выбрать тип хранилища POSTGRES:
# хранилище sem-next
store:
# тип хранилища (POSTGRES, CASSANDRA)
type: POSTGRESЗапускается migrator как java-приложение:
java -jar migrator.jarЛоги формируются в директории logs, с ротацией.
Модули ядра
Модуль engine
Создать директорию /opt/sem-engine и поместить в нее sem-engine.jar, application.yml
mkdir /opt/sem-engine
cp sem-engine.jar /opt/sem-engine
cp application.yml /opt/sem-engineСоздать символьную ссылку в директории /etc/init.d
cd /etc/init.d
chmod +x /opt/sem-engine/sem-engine.jar
ln -s /opt/sem-engine/sem-engine.jar sem-engineПеречитать список сервисов linux
systemctl daemon-reloadЗапуск и остановку сервиса можно осуществлять стандартными командами, т.е.
service sem-engine start
service sem-engine status
service sem-engine stopДля установки лимитов памяти нужно создать в директории sem-engine файл конфигурации sem-engine.conf и задать в нем нужные лимиты:
JAVA_OPTS="-Xms512m -Xmx1024m"Выполнить настройку модуля в файле application.yml (см. пример)
Модуль periodic
Создать директорию /opt/sem-handler и поместить в нее sem-periodic.jar, application.yml
mkdir /opt/sem-periodic
cp sem-periodic.jar /opt/sem-periodic
cp application.yml /opt/sem-periodic
cd sem-periodic.conf /opt/sem-periodicСоздать символьную ссылку в директории /etc/init.d
cd /etc/init.d
chmod +x /opt/sem-periodic/sem-periodic.jar
ln -s /opt/sem-periodic/sem-periodic.jar sem-periodicПеречитать список сервисов linux
systemctl daemon-reloadЗапуск и остановку сервиса можно осуществлять стандартными командами, т.е.
service sem-periodic start
service sem-periodic status
service sem-periodic stopДля установки лимитов памяти нужно создать в директории sem-periodic.jar файл конфигурации sem-handler.conf и задать в нем нужные лимиты:
JAVA_OPTS="-Xms512m -Xmx1024m"Выполнить настройку модуля в файле application.yml (см. пример)
Модуль restservices
Создать директорию /opt/sem-restservices и поместить в нее sem-restservices.jar, application.yml
mkdir /opt/sem-restservices
cp sem-restservices.jar /opt/sem-restservices
cp application.yml /opt/sem-restservicesСоздать символьную ссылку в директории /etc/init.d
cd /etc/init.d
chmod +x /opt/sem-restservices/sem-restservices.jar
ln -s /opt/sem-restservices/sem-restservices.jar sem-restservicesПеречитать список сервисов linux
systemctl daemon-reloadЗапуск и остановку сервиса можно осуществлять стандартными командами, т.е.
service sem-restservices start
service sem-restservices status
service sem-restservices stopДля установки лимитов памяти нужно создать в директории sem-restservices файл конфигурации sem-restservices.conf и задать в нем нужные лимиты:
JAVA_OPTS="-Xms512m -Xmx1024m"Выполнить настройку модуля в файле application.yml (см. пример)
Модуль notifier
Создать директорию /opt/semona-notifier и поместить в нее sem-notifier.jar, application.yml, firebase.json
mkdir /opt/semona-notifier
cp sem-notifier /opt/semona-notifier
cp application.yml /opt/semona-notifier // основной файл настройки
cp firebase.json /opt/semona-notifier // для push уведомлений (необязательный)Создать директорию для логов:
mkdir -p /var/log/semona-notifierНастроить к ней путь в конфиге application.yml:
logging:
path: /var/log/semona-notifierСоздать символьную ссылку в директории /etc/init.d
cd /etc/init.d
chmod +x /opt/semona-notifier/sem-notifier.jar
ln -s /opt/semona-notifier/sem-notifier.jar notifierПеречитать список сервисов linux
systemctl daemon-reloadЗапуск и остановку сервиса можно осуществлять стандартными командами, т.е.
service notifier start
service notifier status
service notifier stopЗапуск модуля с командной строки
java -jar sem-notifier.jarВыполнить настройку модуля в файле application.yml (см. пример)