EnterpriseApps/Ignite: различия между версиями
Строка 148: | Строка 148: | ||
<pre> | <pre> | ||
[Unit] | [Unit] | ||
Description=Apache Ignite | Description=Apache Ignite Service | ||
After=network.target | After=network.target | ||
[Service] | [Service] | ||
WorkingDirectory=/home/ignite | |||
User=ignite | User=ignite | ||
PrivateDevices=yes | |||
ProtectSystem=full | |||
Type=simple | |||
ExecReload=/bin/kill -HUP $MAINPID | ExecReload=/bin/kill -HUP $MAINPID | ||
KillMode=mixed | |||
KillSignal=SIGTERM | |||
TimeoutStopSec=10 | |||
ExecStart=/home/ignite/startIgnite.sh | |||
SyslogIdentifier=Ignite | |||
Restart=on-failure | Restart=on-failure | ||
RestartSec=5 | |||
[Install] | [Install] | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
Alias=ignite.service | |||
</pre> | </pre> | ||
Версия от 17:44, 30 ноября 2023
Ignite - это ...
Установка
https://ignite.apache.org/download.cgi
Установка Java
- Установите Java 1.8
# apt-get install java-1.8.0-openjdk java-1.8.0-openjdk-devel
Установка программы
- Скачайте архив с программой (bin)
Качаем бинарник
https://ignite.apache.org/download.cgi#binaries
- Распакуйте архив
# unzip apache-ignite-*.zip
- Скопируйте каталог в /opt
# mv apache-ignite-*/ /opt/ignite
- Сделайте файлы исполняемыми
# chmod +x -R /opt/ignite
Создание файла профиля
Создаем файл с профилем:
# mcedit /etc/profile.d/ignite.sh
Со следующим содержимым:
export IGNITE_HOME=/opt/ignite
Создание служебного пользователя
Создаем системного пользователя для службы:
# useradd -m ignite # passwd ignite $ su - ignite $ mkdir -p /home/ignite/apache-ignite-config /home/ignite/apache-ignite-data
Назначаем права на нового системного пользователя
# chown ignite:ignite -R /opt/ignite
Создаем файл /home/ignite/startIgnite.sh
#!/bin/bash IGNITE_HOME=/opt/ignite export IGNITE_HOME /opt/ignite/bin/ignite.sh /home/ignite/apache-ignite-config/production-config.xml
chmod 755 /home/ignite/startIgnite.sh
Создаем apache-ignite-config
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="igniteConfiguration" type="Apache.Ignite.Core.IgniteConfigurationSection, Apache.Ignite.Core" /> </configSections> <runtime> <gcServer enabled="true"/> </runtime> <igniteConfiguration xmlns="http://ignite.apache.org/schema/dotnet/IgniteConfigurationSection" gridName="myGrid1"> <localhost></localhost> <networkTimeout>1000</networkTimeout> <networkSendRetryDelay>1000</networkSendRetryDelay> <jvmOptions> <string>-Xms512m</string> <string>-Xmx3g</string> <string>--add-exports=java.base/jdk.internal.misc=ALL-UNNAMED</string> <string>--add-exports=java.base/sun.nio.ch=ALL-UNNAMED</string> <string>--add-exports=java.management/com.sun.jmx.mbeanserver=ALL-UNNAMED</string> <string>--add-exports=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED</string> <string>--add-exports=java.base/sun.reflect.generics.reflectiveObjects=ALL-UNNAMED</string> <string>--add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED</string> <string>-Djava.net.preferIPv4Stack=true</string> <string>--illegal-access=warn</string> </jvmOptions> <discoverySpi type="TcpDiscoverySpi"> <ipFinder type="TcpDiscoveryStaticIpFinder"> <endpoints> <string>127.0.0.1</string> </endpoints> </ipFinder> </discoverySpi> <atomicConfiguration type="AtomicConfiguration"> <atomicSequenceReserveSize>1000</atomicSequenceReserveSize> <cacheMode>Partitioned</cacheMode> <backups>1</backups> </atomicConfiguration> <dataStorageConfiguration type="DataStorageConfiguration"> <walPath>wal/</walPath> <walArchivePath>wal/</walArchivePath> <defaultDataRegionConfiguration type="DataRegionConfiguration"> <name>Default_Region</name> <persistenceEnabled>false</persistenceEnabled> <initialSize>10485760</initialSize> <maxSize>20971520</maxSize> </defaultDataRegionConfiguration> <dataRegionConfigurations type="DataRegionConfiguration"> <dataRegionConfiguration> <name>Persistent</name> <persistenceEnabled>true</persistenceEnabled> <initialSize>10485760</initialSize> <maxSize>1147483648</maxSize> <pageEvictionMode>RandomLru</pageEvictionMode> </dataRegionConfiguration> <dataRegionConfiguration> <name>InMemory</name> <persistenceEnabled>false</persistenceEnabled> <initialSize>10485760</initialSize> <maxSize>50485760</maxSize> </dataRegionConfiguration> </dataRegionConfigurations> </dataStorageConfiguration> <clientMode>false</clientMode> <includedEventTypes></includedEventTypes> <workDirectory>/home/ignite/apache-ignite-data/</workDirectory> <jvmDllPath></jvmDllPath> <igniteInstanceName>Comindware_Instance2</igniteInstanceName> <autoGenerateIgniteInstanceName>false</autoGenerateIgniteInstanceName> </igniteConfiguration> </configuration>
Где <workDirectory>/home/ignite/apache-ignite-data/</workDirectory> - одна из наших созданных папок.
Запуск службы
$ su - ignite $ /opt/ignite/bin/ignite.sh -v
Создание сервиса
Настраиваем запуск ignite в качестве сервиса.
Создаем файл:
# mcedit /etc/systemd/system/ignite.service
Со следующим содержимым:
[Unit] Description=Apache Ignite Service After=network.target [Service] WorkingDirectory=/home/ignite User=ignite PrivateDevices=yes ProtectSystem=full Type=simple ExecReload=/bin/kill -HUP $MAINPID KillMode=mixed KillSignal=SIGTERM TimeoutStopSec=10 ExecStart=/home/ignite/startIgnite.sh SyslogIdentifier=Ignite Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target Alias=ignite.service
Перечитываем конфигурацию systemd:
# systemctl daemon-reload
Разрешаем автозапуск:
# systemctl enable --now ignite
Для проверки можно перезагрузить сервер.