如何在生产环境中将 hazelcast 服务器作为 Linux 服务运行?
java -server -cp hazelcast.jar com.hazelcast.examples.StartServer
StartServer 运行服务器并输出到 std 终端,将其作为 Linux 服务运行并将日志写入文件的最简单方法是什么
& 如何指定 Hazelcast 的最小和最大内存分配。
我必须将其设置为 EC2 实例中的服务并将其捆绑。当 EC2 自动缩放启动实例时,hazelcast 服务器将启动并加入集群。
Thanks
要将 Hazelcast 用作服务,您只需编写一个启动和停止 java 应用程序的 shell/bash 脚本。然后,为了控制 Hazelcast 配置,您需要传入系统属性hazelcast.config
包含 hazelcast.xml 配置的文件的路径。
此外,如果您想要自定义日志记录,您可以包含 JAR 文件(例如 log4j2)并设置系统属性log4j.configurationFile
以及具有日志记录配置的 XML/JSON 文件的路径。不要忘记设置属性hazelcast.logging.type
到你的 hazelcast 配置中的相应类型。
作为示例代码,这里有一个非常简单的 bash 脚本,用于执行您想要的操作。我还没有测试过它,这只是为您提供指导:
#!/bin/bash
function start {
cd /opt/hazelcast
rm -f /opt/hazelcast/hazelcast.pid
javaCmd = "/my/java/home/bin/java -server -cp hazelcast.jar:apache-log4j-2.0-beta9.jar -Dhazelcast.config=/opt/hazelcast/hazelcast.xml -Dlog4j.configurationFile=/opt/hazelcast/log4j2.xml com.hazelcast.examples.StartServer"
cmd="nohup $javaCmd >> /opt/hazelcast/service.log 2>&1 & echo \$! >/opt/hazelcast/hazelcast.pid"
su -c "$cmd"
return 0; }
function stop {
pid="$(</opt/hazelcast/hazelcast.pid)"
kill -s KILL $pid || return 1
return 0; }
function main {
RETVAL=0
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit $RETVAL
}
main $1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)