RpcEnv
のインスタンスはどこにありますか、すべてのコンポーネントが対応するrpcEnv
のインスタンスを取得する方法はありますか?コンポーネントはどのようにして互いに接続しますか?Driver、Master、またはWorkerのRpcEnvインスタンスはどこにありますか?
答えて
RpcEnv
は、Sparkのすべてのコンポーネントのために別々に作成され、リモート通信のために相互にメッセージを交換するために使用されるRPC環境あります。
スパークは、ドライバとエグゼキュータのRPC環境を作成します(それぞれSparkEnv. createDriverEnvとSparkEnv.createExecutorEnvメソッドを実行します)。ときSparkContext
is created for the driver
SparkEnv.createDriverEnv
を独占的に使用されます。
_env = createSparkEnv(_conf, isLocal, listenerBus)
あなたは(ExecutorBackendsは例えばCoarseGrainedExecutorBackend、そうであるように)RpcEnv.create
ファクトリメソッドを自分で使用してRPC環境を作成することができます。
val env = SparkEnv.createExecutorEnv(
driverConf, executorId, hostname, cores, cfg.ioEncryptionKey, isLocal = false)
セパレートについてもRpcEnv
が作成されていますおよびworkers。コンポーネントを相互に接続を行うにはどうすればよい
?
ここでは魔法はありません:) SparkアプリケーションのドライバとSparkスタンドアロンクラスタのスタンドアロンマスターが最初に作成され、他のコンポーネントに依存しません。
Sparkアプリケーションのドライバが起動すると、エグゼキュータを起動するコマンド(クラスタマネージャごとに異なる)を使用してリソースを(クラスタマネージャからリソースコンテナ形式で)要求します。起動コマンドには、ドライバのRpcEndpointの接続の詳細(ホストとポート)があります。
ClientでHadoop YARNとの動作を確認してください。
これは、管理者がコマンドラインでマスタのURLを指定する必要がある点を除いて、スタンドアロンワーカーと同様のプロセスです。
$ ./sbin/start-slave.sh
Usage: ./sbin/start-slave.sh [options] <master>
Master must be a URL of the form spark://hostname:port
Options:
-c CORES, --cores CORES Number of cores to use
-m MEM, --memory MEM Amount of memory to use (e.g. 1000M, 2G)
-d DIR, --work-dir DIR Directory to run apps in (default: SPARK_HOME/work)
-i HOST, --ip IP Hostname to listen on (deprecated, please use --host or -h)
-h HOST, --host HOST Hostname to listen on
-p PORT, --port PORT Port to listen on (default: random)
--webui-port PORT Port for web UI (default: 8081)
--properties-file FILE Path to a custom Spark properties file.
Default is conf/spark-defaults.conf.
- 1. Service Workerコンソールとは何ですか?どこにChromeブラウザがありますか?
- 2. Selenium Web Driverの-WebDriver.CommonとWebDriver.Firefoxのdllはどこにありますか?
- 3. htmlunit-driver 2.26には重複したポームがあります
- 4. `git merge origin master`と` git merge origin/master`の間に違いはありますか?
- 5. Akka 2.4.6 - ask(または?)メソッドはどこにありますか?
- 6. Master-Masterレプリケーションはどのように機能しますか?
- 7. App_Startはどこにありますか?
- 8. レポジションはどこにありますか
- 9. -ConfigurationTypeNameはどこにありますか?
- 10. RoutedEventArgs.Sourceはどこにありますか?
- 11. ベータユーザーはどこにありますか?
- 12. NestedScrollViewはどこにありますか?
- 13. fillPatternIdはどこにありますか?
- 14. パッケージキーバインディングはどこにありますか?
- 15. .gemspecはどこにありますか?
- 16. py4csはどこにありますか?
- 17. SAPIはどこにありますか?
- 18. タブバーコントローラクラスはどこにありますか?
- 19. Xcodeはどこにありますか?
- 20. オーディオノイズキャンセルアルゴリズムはどこにありますか?
- 21. sap.m.sample.BusyDialogLight.Cはどこにありますか?
- 22. elasticsearchはどこにありますか?
- 23. ログはどこにありますか?
- 24. メテオールストアはどこにありますか
- 25. デストラクタはどこにありますか?
- 26. インデックスはどこにありますか?
- 27. アトムスタイルシートはどこにありますか?
- 28. クリエイティブエンドポイントはどこにありますか?
- 29. __bytes__メソッドはどこにありますか?
- 30. ConnectivityMonitor()はどこにありますか?
すべてのコンポーネントは、独自のrpcEnvを持っているとして、コンポーネントはdriver's rpcEnvでRpcEndpointとして、ドライバ・レジスタか?接続を行い、そして労働者が葯rpcEnvを持っているか、これらのrpcEnvは、接続を行うことができますか? – CCong