Apache spark 如何在独立主机中并行运行多个spark应用程序

Apache spark 如何在独立主机中并行运行多个spark应用程序,apache-spark,config,high-availability,apache-spark-standalone,Apache Spark,Config,High Availability,Apache Spark Standalone,使用Spark(1.6.1)独立主机,我需要在同一个Spark主机上运行多个应用程序。 所有在第一次提交后提交的申请,始终保持“等待”状态。我还观察到,运行的一个可以容纳所有工人。 我已经尝试过使用SPARK\u EXECUTOR\u CORES来限制它,但是在我运行时,它的纱线配置是“独立主控”。我尝试在同一主服务器上运行多个worker,但每次第一次提交的应用程序都会消耗所有worker。我假设您在一台服务器上运行所有worker,并尝试模拟集群。这种假设的原因是,如果不是这样,您可以使用一

使用Spark(1.6.1)独立主机,我需要在同一个Spark主机上运行多个应用程序。 所有在第一次提交后提交的申请,始终保持“等待”状态。我还观察到,运行的一个可以容纳所有工人。
我已经尝试过使用
SPARK\u EXECUTOR\u CORES
来限制它,但是在我运行时,它的纱线配置是“独立主控”。我尝试在同一主服务器上运行多个worker,但每次第一次提交的应用程序都会消耗所有worker。

我假设您在一台服务器上运行所有worker,并尝试模拟集群。这种假设的原因是,如果不是这样,您可以使用一个辅助程序和一个主程序来运行独立的Spark cluster。
执行器内核与普通内核完全不同。要设置执行器的数量,您需要像前面所说的那样打开纱线。executor Core是executor可以运行的并发任务数(使用hdfs时,建议将其保持在5以下)[]

要限制工作进程运行的内核数是“CPU内核”。这些在Spark 1.6.1[]的配置中规定。在Spark中,可以选择在启动从机[]时设置CPU内核的数量。这种情况发生在-c核,-CORES核上。它定义了允许Spark应用程序在机器上使用的CPU内核总数(默认值:所有可用);只在工人身上

启动Spark的命令如下所示:

/sbin/start-all.sh——核心2


希望这有助于在配置设置中将这一行添加到“/conf/spark-env.sh”文件中

导出SPARK\u MASTER\u OPTS=“-Dspark.deploy.defaultCores=1”

主机的最大核心数现在将限制为1。 如果多个spark应用程序正在运行,那么它将只使用一个内核作为主机。然后定义工人数量并为工人设置:

导出SPARK\u WORKER\u OPTS=“-Dspark.deploy.defaultCores=1”


每个工人也有一个核心请记住,必须为配置设置中的每个工作进程设置此选项。

我在spark单机群集上遇到了相同的问题

我得到的是,不知何故,它是利用所有的资源为一个单一的工作。我们需要定义资源,以便它们也有空间运行其他作业

下面是我用来提交spark作业的命令

bin/spark-submit --class classname --master spark://hjvm1:6066 --deploy-mode cluster  --driver-memory 500M --conf spark.executor.memory=1g --conf spark.cores.max=1 /data/test.jar

在Spark独立群集上并行运行多个作业的一个关键参数是
Spark.cores.max
。请注意,
spark.executor.instances
num executors
spark.executor.cores
单独使用无法在spark单机版上实现此功能,除单个活动作业外,您的所有作业都将处于等待状态

:

独立群集模式目前仅支持简单的FIFO 跨应用程序的调度程序。但是,要允许多个并发 用户,您可以控制每个资源的最大数量 应用程序将使用。默认情况下,它将获取系统中的所有核心 群集,只有在一次只运行一个应用程序时才有意义 时间您可以通过设置spark.cores.max


这个答案是错误的。这个问题的目标是与“工人”一起在集群中运行,这个答案只适用于本地工作。此答案仅适用于主运行。主机现在只消耗一个核心。SPARK_MASTER_以“-Dx=y”(默认值:无)的形式选择仅适用于主机的配置属性。应使用SPARK_worker_OPTS配置属性调整辅助进程,这些属性仅适用于格式为“-Dx=y”(默认值:无)的辅助进程。如果在worker中设置了核心,则该答案将起作用。