1

状況: Java jre 1.6.37 で実行されているインスタンス化されたアプリケーションを含む VM があります。すべてのインスタンスには、仮想 IP と、その Linux VM 上の独自のホスト名があり、eth0:1 eth0:2 などとして表示されます。すべてのエントリもあります。ホストのインスタンス

インスタンスの 1 つについて、JMX モニタリング パラメータを wrapper.conf に追加しました。

wrapper.java.additional.7=-Dcom.sun.management.jmxremote
wrapper.java.additional.8=-Dcom.sun.management.jmxremote.port=6423
wrapper.java.additional.9=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.10=-Dcom.sun.management.jmxremote.authenticate=false

(追加して試してみました: -Djava.rmi.server.hostname=YOUR_IP YOUR_APP)

問題:

アプリケーションを再起動し、JDK を使用して Windows PC から JConsole を使用してそのアプリケーションに接続しようとしました。接続できませんでした。マシンとポート6423でtelnetすると、接続できます。

試行を分析します。

また、JDK をその Linux マシンにコピーし、そこで試してみましたが、同じ結果が得られました。そこで、同じアプリケーションが仮想 IP などでインスタンス化されて実行されている別の VM を使用しました。接続は可能でした。

最初の VM には、接続をブロックするファイアウォールなどはありません。また、netstat -an |grep 6423それがリッスンであることも教えてくれます

なぜそれが1つのVMで機能しているのに、他のVMでは機能していないのか、その仮想IPとポート6423に対してローカルで呼び出されたjconsoleを使用していない理由がわかりません

4

0 に答える 0