我需要有经验的码头用户的建议。
我在负载均衡器(亚马逊云)后面维护了 2 台 linux 机器(使用 Jetty 9.0.3)。有时,我的 Jetty 容器会因“Thread-2”而无缘无故关闭。同时。
显示以下日志,容器无故停止。没有错误。没有例外。优雅地关闭。——这已经很奇怪了!但是... 来自 2 台机器的 2 个码头同时下降... ???
无故关闭日志(节点1):
2013-09-24 18:51:19.447:INFO:oejs.ServerConnector:Thread-2: 已停止 ServerConnector@22480241{HTTP/1.1}{0.0.0.0:2323} ...
2013-09-24 18:51:23.443:INFO:oejsl.ELContextCleaner:Thread-2:javax.el.BeanELResolver 清除 2013-09-24 18:51:23.443:INFO:oejsh.ContextHandler:Thread-2: 停止 oejwWebAppContext @5892d4a8{/,file:/home/ec2-user/jetty/webapps/ROOT/,UNAVAILABLE}{/ROOT}
无故关机日志(节点2):
2013-09-24 18:51:22.152:INFO:oejs.ServerConnector:Thread-2: 停止 ServerConnector@ba4bb9{HTTP/1.1}{0.0.0.0:2323} ...
2013-09-24 18:51:25.605:INFO:oejsl.ELContextCleaner:Thread-2:javax.el.BeanELResolver 清除 2013-09-24 18:51:25.605:INFO:oejsh.ContextHandler:Thread-2: 停止 oejwWebAppContext @460434{/,file:/home/ec2-user/jetty/webapps/ROOT/,UNAVAILABLE}{/ROOT}
用于比较的正常关机日志(start.jar --stop)
2013-09-25 16:25:16.993:INFO:oejs.ServerConnector:ShutdownMonitor: 已停止 ServerConnector@ba4bb9{HTTP/1.1}{0.0.0.0:2323} ...
2013-09-25 16:25:21.049:INFO:oejsl.ELContextCleaner:ShutdownMonitor:javax.el.BeanELResolver 清除 2013-09-25 16:25:21.049:INFO:oejsh.ContextHandler:ShutdownMonitor: 停止 oejwWebAppContext@460434{/ ,file:/home/ec2-user/jetty/webapps/ROOT/,UNAVAILABLE}{/ROOT}
请注意,“Thread-2”正在停止服务器,原因不明,而不是“ShutdownMonitor”线程。会发生什么?除了使用--stop运行'start.jar'之外,是否有一些隐藏的门可以停止容器?
请帮忙!
更新:
好吧,我发现如果我终止进程而不是调用“停止”,结果是一样的......线程2。所以我相信linux正在扼杀我的进程。也许OOM。我正在研究。也许这个问题不再需要了。谢谢
更新2:
错误是我在终端中启动进程(没有 &),所以它在前台运行 - 绑定到该终端。当终端会话结束时,进程终止。
雷沃