Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark中的CPU核心配置不工作_Apache Spark - Fatal编程技术网

Apache spark Spark中的CPU核心配置不工作

Apache spark Spark中的CPU核心配置不工作,apache-spark,Apache Spark,我试图在上的教程之后设置Spark独立模式 教程中说,我们可以将“-c CORES”传递给worker,以设置允许的CPU内核总数。根据我对本教程的理解,我尝试通过以下方式启动集群,在我的工作机器的40个内核中仅使用16个内核: ${SPARK_HOME}/sbin/start-all.sh-c 16 然后,我使用spark submit运行了一个作业,并查看了master:8080的webUI。然而,它显示它仍然使用全部40个内核,而不是16个。我阅读了${SPARK_HOME}/sbin中

我试图在上的教程之后设置Spark独立模式

教程中说,我们可以将“-c CORES”传递给worker,以设置允许的CPU内核总数。根据我对本教程的理解,我尝试通过以下方式启动集群,在我的工作机器的40个内核中仅使用16个内核:

${SPARK_HOME}/sbin/start-all.sh-c 16

然后,我使用spark submit运行了一个作业,并查看了master:8080的webUI。然而,它显示它仍然使用全部40个内核,而不是16个。我阅读了${SPARK_HOME}/sbin中的start-master.sh和start-slave.sh,我认为它们实际上没有解析参数

因此,目前限制应用程序内核数量的唯一方法是在${SPARK\u HOME}/conf/SPARK\u env.sh中设置SPARK\u WORKER\u内核


我想知道如何使用教程中讨论的-c参数。

正如您在脚本中看到的那样,AFAIK不支持该参数。正确的方法是结合使用

spark-defaults.conf, 
spark-env.sh
command line settings e.g.  --executor_cores

指示用于给定任务的内核数。

正如您在脚本中看到的那样,AFAIK不支持该参数。正确的方法是结合使用

spark-defaults.conf, 
spark-env.sh
command line settings e.g.  --executor_cores
指示用于给定任务的内核数。

我提交的问题(issues.apache.org/jira/browse/SPARK-11841)得到了回答-c、 -m和-d只能传递给start-slave.sh。并且,您只能在希望用作工作程序的计算机上运行这些脚本。 用法是:

start-slave.sh[选项]

例如,要启动16核的从机,我们可以使用:

start-slave.shspark://master_ip:7077 -c 16

我提交的问题(issues.apache.org/jira/browse/SPARK-11841)得到了回答-c、 -m和-d只能传递给start-slave.sh。并且,您只能在希望用作工作程序的计算机上运行这些脚本。 用法是:

start-slave.sh[选项]

例如,要启动16核的从机,我们可以使用:


start-slave.shspark://master_ip:7077 -c 16

我认为这是一个bug,并在spark jira网站上发布了一张罚单。这是我发布问题的正确地点吗?那是正确的地点。但是我从来没有看过任何关于-c的文档。仅限--executor_coresIt在。标题“集群启动脚本”上方有一个表格。实际上,-h、-i、-p、-webui端口和--properties文件都受支持,但只有start-master.sh支持。其余的-c,-m和-d-不是。我认为spark.executor.cores是设置每个工作节点的执行器数量,而不是每个工作节点的核心数量。我使用了--executor cores,它是按照上面指定的那样做的。独立模式下的“spark.executor.cores”似乎是指每个工作机器的执行器数量,根据“每个执行器上要使用的核心数。仅适用于纱线和独立模式。在独立模式下,设置此参数允许应用程序在同一个辅助程序上运行多个执行器,前提是该辅助程序上有足够的内核。否则,每个应用程序只能在每个工作人员身上运行一个执行器。“我认为这是一个bug,已经在spark jira站点上发布了一张罚单。这是我发布问题的正确站点吗?这是正确的位置。但我从未见过-c的任何文档。只有-executor_coresIt位于。标题“群集启动脚本”上方有一个表.h、-i、-p、-webui端口和--properties文件,但仅由start-master.sh支持。其余的-c,-m和-d-不是。我认为spark.executor.cores是设置每个工作节点的执行器数量,而不是每个工作节点的核心数量。我使用了--executor cores,它是按照上面指定的那样做的。独立模式下的“spark.executor.cores”似乎是指每个工作机器的执行器数量,根据“每个执行器上要使用的核心数。仅适用于纱线和独立模式。在独立模式下,设置此参数允许应用程序在同一个辅助程序上运行多个执行器,前提是该辅助程序上有足够的内核。否则,每个应用程序只会在每个工作程序上运行一个执行器。“