実行時にエグゼキュータのすべてのIPを取得したいのですが、SparkのどのAPIを使用する必要がありますか?または実行時にIPを取得する他の方法?SparkアプリケーションのエグゼキュータIPを知るには?
1
A
答えて
1
Apache SparkにはExecutorInfoというクラスがあり、実行者ホストIPを返すメソッドexecutorHost()があります。
1
SparkListener抽象クラスを使用して、実行者固有の2つのイベント(SparkListenerExecutorAdded
およびSparkListenerExecutorRemoved
)を傍受する必要があります。
override def onExecutorAdded(executorAdded: SparkListenerExecutorAdded): Unit = {
val execId = executorAdded.executorId
val host = executorAdded.executorInfo.executorHost
executors += (execId -> host)
println(s">>> executor id=$execId added on host=$host")
}
override def onExecutorRemoved(executorRemoved: SparkListenerExecutorRemoved): Unit = {
val execId = executorRemoved.executorId
val host = executors remove execId getOrElse "Host unknown"
println(s">>> executor id=$execId removed from host=$host")
}
作業プロジェクト全体がSpark Executor Monitor Projectにあります。
関連する問題
- 1. Sparkエグゼキュータのオブジェクトキャッシュ
- 2. Sparkアプリケーションは1つのエグゼキュータのみを使用します
- 3. Sparkエグゼキュータはマルチスレッドですか?
- 4. Spark Streamingアプリケーションのエグゼキュータの数を設定する
- 5. Apache Sparkエグゼキュータの人数
- 6. エグゼキュータのSpark Object(シングルトン)シリアライズ
- 7. SparkエグゼキュータのログインIntelliJ IDEA
- 8. Sparkエグゼキュータ上での並行タスク
- 9. Sparkエグゼキュータの最大メモリ制限
- 10. Spark scalaのエグゼキュータ間でオブジェクトをブロードキャストする方法は?
- 11. Sparkでエグゼキュータとドライバにカスタムlog4jプロパティを使用する方法
- 12. Spark:パーティションではなくエグゼキュータのセットアップ作業を行う
- 13. spark on yarnのエグゼキュータの最小ヒープサイズを変更する
- 14. Sparkで特定のエグゼキュータに1つのパーティションを保持する方法は?
- 15. Spark:エグゼキュータを起動するリソースファイルパスを送信する
- 16. python sparkがエグゼキュータのhttpサーバにアクセスできない
- 17. Apache Spark:エグゼキュータでパーティションを処理する方法
- 18. カスタムStatsDでエグゼキュータを設定する方法Sparkメトリックシンク
- 19. 各Sparkエグゼキュータのカスタムjava.rmi.server.hostnameを設定します。
- 20. Spark Structured StreamingエグゼキュータとKafkaパーティション間のマッピングの説明
- 21. Sparkエグゼキュータが「java.lang.ClassNotFoundException:oracle.jdbc.OracleDriver」エラーをスローしています
- 22. Sparkでは、2人のエグゼキュータの間でデータを共有できますか?
- 23. spark-shell ERROR YarnScheduler:エグゼキュータが失われました
- 24. は、IP範囲にアプリケーションを公開するか、IP範囲
- 25. wheather IPカメラ(RTSP)のストリーミング方法を知るには?
- 26. エグゼキュータOutOfMemoryExceptions
- 27. サブネットマスクから検索するIPアドレスを知るには?
- 28. (YARNクライアントモードで)クラッシュした後にSparkエグゼキュータを再起動する方法はありますか?
- 29. 私のSpark Appは1人のエグゼキュータだけで動作しているのはなぜですか?
- 30. YourKitによるSparkアプリケーションのプロファイリング
私はこのエグゼキュータのリストを提供して、エグゼキュータ(スティッキーパーティション)にマッピングパーティションのようなRDDの変換を行う必要があります。しかし、これはsc.start()が呼び出されているときではなく、後で呼び出されるように見えます。そのため、RDDを変換するためにdstream上のいくつかの関数を呼び出す前にリストを取得することはできません。御時間ありがとうございます ! –
アクションを実行する前に特定のエグゼキュータを要求する必要がある場合(アプリケーションに割り当てられたエグゼキュータを知らない場合)、リストを 'preferredLocation'として持つカスタムRDDを開発する必要があります。それは実行可能な独自のカスタム 'DStream'を開発する必要があります。あなたは本当に何を達成しようとしていますか?ユースケースは何ですか? –