hadoop - 如果工作节点上未安装 Spark(在 YARN 上),Spark 执行器如何启动?

标签 hadoop apache-spark hadoop-yarn

我有一个关于在集群模式下在 YARN 上运行的 Apache Spark 的问题。根据this thread ,Spark本身不必安装在集群中的每个(工作)节点上。我的问题是 Spark 执行器:一般来说,YARN 或者资源管理器应该决定资源分配。因此,Spark Executor 可以在集群中的任何(工作)节点上随机启动。但是,如果 Spark 没有安装在任何(工作)节点上,那么如何通过 YARN 启动 Spark Executors?

最佳答案

在较高的层面上,当 Spark 应用程序在 YARN 上启动时,

  1. 将在其中一个 YARN 容器中创建 Application Master(Spark 特定)。
  2. 用于 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/

相关文章:

hadoop - hbase shell缺少类名('org.apache.log4j.level')

hadoop - Hive Bucketing - 如何为特定的 bucket 运行 hive 查询

apache-spark - 什么是 Spark RDD 图、血统图、Spark 任务的 DAG?他们是什么关系

hadoop - Hadoop MR1 和 MR2 共存

regex - REGEX_EXTRACT_ALL在APACHE PIG中未返回正确的结果

从 Python 运行 Spark 时 Java 堆大小错误

hadoop - hbase 跳过区域服务器直接从 hfile 读取行

r - Sparklyr 可以与部署在 yarn 管理的 hadoop 集群上的 Spark 一起使用吗?

hadoop - hadoop 中每个映射器的单个或多个文件?

sql - AND子句无法在配置单元中使用