Hadoop ジョブの JMX 監視を有効にしたい ( JobTracker、DataNode などではなく、実際のジョブの場合)。jconsoleローカル マシンからジョブが実行されているホスト/クラスター/ノードに接続し、いくつかの監視値を取得できる可能性を探しています。したがって、JMX へのリモート アクセスが必要です。
と にいくつかのオプションを追加しようとしましMAPRED_MAP_TASK_JAVA_OPTSたMAPRED_REDUCE_TASK_JAVA_OPTS:
-Dcom.sun.management.jmxremote.authenticate=fals-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Djava.net.preferIPv4Stack=trueを使用して JMX に接続する方法がわからないため、追加 しても役に立ちませんjconsole。ポートが開かれますが、 を使用して接続しようとするとjconsole、「テーブルにそのようなオブジェクトがありません」というエラーが表示されます。-Dcom.sun.management.jmxremote.authenticate=fals-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote.port=1412hostname:1412期待どおりに動作します: を使用して接続できjconsoleます。ここでの主な問題: マッパー/リデューサーは同じノードで複数回実行される可能性があり、ポートを 2 回使用できないため、2 回目にマッパー/リデューサーを起動すると例外が発生して失敗します。
Hadoop ジョブで JMX を使用できるようにするソリューションはありますか? この質問は、別のレベルで問題を定式化しようとする、私が今尋ねた他の質問に関連しています。