2016-07-25 2 views
1

私はSparkプロセスをYARN(10人の従業員と10人のホスト)で実行していますが、エグゼキュータでJMXを使用できます。 単純化すると、(ポートの競合を避けるために)各ホストに最大で1人のエグゼキュータが存在すると確信しています。各Sparkエグゼキュータのカスタムjava.rmi.server.hostnameを設定します。

各ホストに異なるjava.rmi.server.hostnameが必要であるため、spark.executor.extraJavaOptionsをSpark Confに使用することはできません。

YARNコンテナ/ SparkエグゼキュータごとにカスタムJavaオプションを設定する方法が見つかりませんでした。どのように進めますか?

私はそれがSystem.setProperty("java.rmi.server.hostname", ...)で動的に設定されるべきだと思うが、「エグゼキュータが起動すると」フックがない。私は?

+0

をしかし、これらすべての執行は本当に、異なるホスト名を持つ彼らをしませんか? –

+0

はい、あります。スパークは糸モードで走っています。したがって、エグゼキュータはすべてのホストにディスパッチされます。 –

答えて

0

あなたはspark.executor.extraJavaOptionsに次のような使用することができます。

-Dcom.sun.management.jmxremote.port=9999 
-Dcom.sun.management.jmxremote.rmi.port=9999 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.local.only=false 
関連する問題