Установка модулей ядра
Установка 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 -y
2. Установка зависимостей
Убедитесь, что установлены необходимые зависимости:
sudo apt install -y wget apt-transport-https gnupg
3. Добавление репозитория 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 /opt
4. Установка JRE 21
sudo apt install -y temurin-21-jre
sudo update-alternatives --install /usr/bin/java java /opt/jdk/bin/java 100
sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/bin/javac 100
5. Проверка установки
Убедитесь, что 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/environment
JAVA_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 (см. пример)