Spark 资源调度 - 独立集群管理器
Spark resource scheduling - Standalone cluster manager
我在 Spark 中开发的数据管道的配置测试机配置很低。我将只使用一个 AWS t2.large 实例,它只有 2 CPUs 和 8 GB RAM。
我需要 运行 2 个 spark 流作业,并留出一些内存和 CPU 能力以偶尔测试批处理作业。
所以我有 master 和一个 worker,它们在同一台机器上。
我有一些一般性问题:
1)每个工人可以 运行 多少个执行者?我知道默认值是 1,但更改它有意义吗?
2) 一个执行器可以执行多个应用程序,还是一个执行器只专用于一个应用程序?
3) 是否有一种方法可以使它工作,设置应用程序可以在配置文件中使用的内存,或者当我创建 spark 上下文时?
谢谢
How many executors can run per one worker? I know that default is one, but does it make sense to change this?
只有在你有足够的资源的情况下才有意义。比如说,在一台有 24 GB 和 12 个内核的机器上,如果您确定 8 GB 足够一个执行程序,则可以 运行 3 个执行程序。
Can one executor execute multiple applications, or one executor is dedicated only to one application?
不,每个应用程序都会启动自己的执行程序。
Is a way to make this work, to set memory that application can use in configuration file, or when I create spark context?
我不确定我是否理解问题,但是有 3 种方法可以为应用程序提供配置
- 文件 spark-defaults.conf,但不要忘记在创建新的 SparkConf 实例时打开以读取默认属性。
- 通过 -D 提供系统属性,当您 运行 应用程序或 --conf 如果那是 spark-submit 或 spark-shell。虽然对于内存选项有特定的参数,如 spark.executor.memory 或 spark.driver.memory 和其他要使用的参数。
- 使用其设置方法通过新的 SparkConf 实例提供相同的选项。
我在 Spark 中开发的数据管道的配置测试机配置很低。我将只使用一个 AWS t2.large 实例,它只有 2 CPUs 和 8 GB RAM。
我需要 运行 2 个 spark 流作业,并留出一些内存和 CPU 能力以偶尔测试批处理作业。
所以我有 master 和一个 worker,它们在同一台机器上。
我有一些一般性问题: 1)每个工人可以 运行 多少个执行者?我知道默认值是 1,但更改它有意义吗?
2) 一个执行器可以执行多个应用程序,还是一个执行器只专用于一个应用程序?
3) 是否有一种方法可以使它工作,设置应用程序可以在配置文件中使用的内存,或者当我创建 spark 上下文时?
谢谢
How many executors can run per one worker? I know that default is one, but does it make sense to change this?
只有在你有足够的资源的情况下才有意义。比如说,在一台有 24 GB 和 12 个内核的机器上,如果您确定 8 GB 足够一个执行程序,则可以 运行 3 个执行程序。
Can one executor execute multiple applications, or one executor is dedicated only to one application?
不,每个应用程序都会启动自己的执行程序。
Is a way to make this work, to set memory that application can use in configuration file, or when I create spark context?
我不确定我是否理解问题,但是有 3 种方法可以为应用程序提供配置
- 文件 spark-defaults.conf,但不要忘记在创建新的 SparkConf 实例时打开以读取默认属性。
- 通过 -D 提供系统属性,当您 运行 应用程序或 --conf 如果那是 spark-submit 或 spark-shell。虽然对于内存选项有特定的参数,如 spark.executor.memory 或 spark.driver.memory 和其他要使用的参数。
- 使用其设置方法通过新的 SparkConf 实例提供相同的选项。