我有一个关于在集群模式下在 YARN 上运行的 Apache Spark 的问题。根据this thread ,Spark本身不必安装在集群中的每个(工作)节点上。我的问题是 Spark 执行器:一般来说,YARN 或者资源管理器应该决定资源分配。因此,Spark Executor 可以在集群中的任何(工作)节点上随机启动。但是,如果 Spark 没有安装在任何(工作)节点上,那么如何通过 YARN 启动 Spark Executors?
最佳答案
在较高的层面上,当 Spark 应用程序在 YARN 上启动时,
- 将在其中一个 YARN 容器中创建 Application Master(Spark 特定)。
- 用于 Spark 工作线程(执行器)的其他 YARN 容器
Spark 驱动程序会将序列化的操作(代码)传递给执行程序来处理数据。
spark-assembly provides spark related jars to run Spark jobs on a YARN cluster and application will have its own functional related jars.
编辑: (2017-01-04)
Spark 2.0 no longer requires a fat assembly jar for production deployment.source
关于hadoop - 如果工作节点上未安装 Spark(在 YARN 上),Spark 执行器如何启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41180808/