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=1412
hostname:1412
期待どおりに動作します: を使用して接続できjconsole
ます。ここでの主な問題: マッパー/リデューサーは同じノードで複数回実行される可能性があり、ポートを 2 回使用できないため、2 回目にマッパー/リデューサーを起動すると例外が発生して失敗します。
Hadoop ジョブで JMX を使用できるようにするソリューションはありますか? この質問は、別のレベルで問題を定式化しようとする、私が今尋ねた他の質問に関連しています。