Hazelcast 4.2 独立作为 linux 服务

Hazelcast 4.2 standalone as a linux service

我通过 运行 在后台安装以下文件,在 linux 服务器中以独立模式安装了 Hazelcast 4.2 运行s:

hazelcast 核心:bin/start.sh

hazelcast 管理中心:management-center/bin/start.sh

我正在寻找一种使用 start.sh 文件将 Hazelcast 和管理中心 运行s 作为 Linux 服务的方法,以便于 运行 并停止

我创建了一些脚本来展示 Hazelcast IMDG systemd 服务的外观。在这里找到它:https://github.com/kwart/hazelcast-linux-service

解决方案的核心是服务脚本 /etc/systemd/system/hazelcast.service:

[Unit]
Description=Hazelcast IMDG
After=syslog.target network.target
Before=httpd.service

[Service]
EnvironmentFile=-/etc/hazelcast/hazelcast.conf
User=hazelcast
ExecStart=/opt/hazelcast/bin/start.sh
StandardOutput=journal

[Install]
WantedBy=multi-user.target

使用配置文件(hazelcast.confhazelcast.xml)创建 /etc/hazelcast 是可选的,但可以方便地在标准位置调整配置。

自定义 hazelcast.xml 仅启用基本 REST 端点。

<hazelcast xmlns="http://www.hazelcast.com/schema/config"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.hazelcast.com/schema/config
           http://www.hazelcast.com/schema/config/hazelcast-config-4.2.xsd">
    <network>
        <rest-api enabled="true"/>
    </network>
</hazelcast>

hazelcast.conf可以设置java选项和自定义路径hazelcast.xml

JAVA_OPTS=-Dhazelcast.config=/etc/hazelcast/hazelcast.xml
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
MIN_HEAP_SIZE=1g
MAX_HEAP_SIZE=1g

编辑 2021-04-01 类似的方法可用于管理中心。一个简单的服务文件 /etc/systemd/system/hazelcast-mc.service 可能如下所示:

[Unit]
Description=Hazelcast Management Center
After=syslog.target network.target
Before=httpd.service

[Service]
User=hazelcast
ExecStart=/opt/hazelcast-mc/bin/start.sh
StandardOutput=journal

[Install]
WantedBy=multi-user.target