foreman export upstart /etc/init
Ubuntuで可用性を監視および維持できるように、Tomcatアプリサーバーをセットアップするために使用しています。
しかし、私がアドバイスを求めているいくつかの課題があります。
1)インスタンスをsudo service tomcat start
...で開始した後、...を使用してプロセスを強制終了しようとするとkill <pid>
、Upstartユーティリティによって即座に再生成されることがわかります...しかし、速すぎます!必要なポートはまだ解放されていません。これを克服するための回避策は何でしょうか?
SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-nio-8443"]
8 java.net.BindException: Address already in use
9 at sun.nio.ch.Net.bind0(Native Method)
43 Caused by: java.net.BindException: Address already in use
44 at sun.nio.ch.Net.bind0(Native Method)
2)私は(この場合は3518 )initctl list | grep tomcat
を理解し、プロセスを強制終了するために使用します:pid
$ initctl list | grep tomcat
tomcat start/running
tomcat-web-1 start/running, process 3518
tomcat-web start/running
tomcat-web-1を強制終了することが、Upstartのリスポーン機能をテストするための誤った方法である可能性はありますか?
3)もう1つの課題は、これを1〜2回行うと、すぐにメモリの問題が発生することです。
376 Error occurred during initialization of VM
377 Could not reserve enough space for object heap
4)最後に、デフォルトのスクリプトは、誤った終了条件に対してのみリスポーンを処理するようです。しかし、マシンの再起動はそれらの1つとしてカウントされないので、このシナリオを処理するためにからのエクスポートをどのようforeman export upstart /etc/init
に拡張する必要がありますか?
他の誰かが以前に同様の課題に遭遇したことがあるか、および/またはそれらの回避策があるのだろうか?
更新#1(2013年3月4日):
(4)を実行するには、appname.confファイルのstart on
ステートメントを編集して含める必要がありました。start on (... OR runlevel [2345])