6

Macbook で Jconsole を実行していて、ec2 でグラフィックを持たない (コマンド ライン アクセスのみ) Linux ターミナルに接続しようとしています。

次のようにコードを実行します。

java -jar program.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9005 
-Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.remote.ssl=false

EC2 経由でのアクセスに問題があったことをここで読みました (接続に問題があった後) java.rmi.server.hostname to the public hostname of the instance

これを行う方法に少し混乱しています。私は2つのことを試しました.1つはコードに直接入れることです(void staticメインセクション):

System.setProperty( "java.rmi.server.hostname" , "external_EC2_address" ); //in my real code I have the correct address here

システムはそれを受け入れました(実行可能なjarを作成/アップロードしたときにエラーはありませんでした)。また、インスタンスでファイアウォールを開き、すべての TCP トラフィックを許可しました。運がない。上記のステートメントをプログラムを起動するフラグとしても試しましたが、まだうまくいきません。

これを行う方法はありますか?

更新: これは、私が Java でどれほどグリーンであるかを示します。さらに一歩進んだ (まだ機能しません) が、Java -jar filename.jar を配置すると、オプションを配置しても、 -jar コマンドの最後に。私はそれを試してみましたが、プログラムは接続を試み、接続に失敗したと言います(ログイン画面ですぐに言う前に)。

4

2 に答える 2

2

VM を起動する前に、ホスト名のプロパティを設定します。

java -Dcom.sun.management.jmxremote \
     -Dcom.sun.management.jmxremote.port=9005 \
     -Dcom.sun.management.jmxremote.authenticate=false \
     -Dcom.sun.management.remote.ssl=false \
     -Djava.rmi.server.hostname=the.public.ip \
     -jar program.jar

関連するルールをセキュリティ グループに追加します。

最後に、iptables が停止していることを確認します。これが原因で、外部からの接続が得られない可能性があります。root として (または sudo を使用して ...):

# service iptables stop
于 2012-04-03T00:24:51.673 に答える
1

インスタンスのセキュリティ グループでJMX リモート ポート (上記の例では 9005) を開く必要があります。

于 2012-04-02T23:46:37.437 に答える