微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Hazelcast服务器作为linux服务

如何在生产环境中将hazelcast服务器作为 linux服务运行?

java -server -cp hazelcast.jar com.hazelcast.examples.StartServer

StartServer运行带有输出到std终端的服务器,将它作为linux服务运行并将日志写入文件的最简单方法是什么
&安培;如何为Hazelcast指定最小和最大内存分配.

我必须将其设置为EC2实例中的服务并捆绑它.当EC2自动扩展启动实例时,hazelcast服务器将启动并加入群集.

谢谢

解决方法

要将Hazelcast用作服务,您只需编写一个启动和停止 Java应用程序的shell / bash脚本.然后,要控制Hazelcast配置,您需要使用包含hazelcast.xml配置的文件路径传入系统属性hazelcast.config.

此外,如果要进行自定义日志记录,可以包含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

原文地址:https://www.jb51.cc/linux/393250.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐