Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.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 apachespark进程的CPU消耗_Apache Spark_Cpu Usage - Fatal编程技术网

Apache spark apachespark进程的CPU消耗

Apache spark apachespark进程的CPU消耗,apache-spark,cpu-usage,Apache Spark,Cpu Usage,我有一个有6个物理内核的系统,每个内核有8个硬件线程,形成48个虚拟内核。以下是配置文件中的设置 spark env.sh 导出SPARK\u WORKER\u CORES=1 spark defaults.conf spark.driver.1磁芯 spark.executor.cores 1 spark.cores.max 1 这意味着它应该只使用1个虚拟核,但如果我们看到TOP命令的输出,某个时候,它会有非常大的峰值,例如CPU消耗超过4000,例如 PID USER PR

我有一个有6个物理内核的系统,每个内核有8个硬件线程,形成48个虚拟内核。以下是配置文件中的设置

spark env.sh

导出SPARK\u WORKER\u CORES=1

spark defaults.conf

spark.driver.1磁芯

spark.executor.cores 1

spark.cores.max 1

这意味着它应该只使用1个虚拟核,但如果我们看到TOP命令的输出,某个时候,它会有非常大的峰值,例如CPU消耗超过4000,例如

 PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 22581 sbaig     20   0  0.278t 0.064t  37312 S  4728  6.4   7:11.30 java
....
   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 22581 sbaig     20   0  0.278t 0.065t  37312 S  1502  6.5   8:22.75 java
...
   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 22581 sbaig     20   0  0.278t 0.065t  37312 S  4035  6.6   9:51.64 java
...
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 22581 sbaig     20   0  0.278t 0.080t  37312 S  3445  8.1  15:06.26 java
...
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 22581 sbaig     20   0  0.278t 0.082t  37312 S  4178  8.2  17:37.59 java
...
这意味着,spark没有使用1个虚拟内核,而是使用系统中所有可用的内核,所以我的问题是,为什么它会这样?为什么它在执行我们在SPARK_WORKER_CORES属性中设置的作业时不使用1个core

我使用spark 1.6.1和独立模式

我们将非常感谢您的帮助。 谢谢
Shuja

根据您提供的信息,您似乎只在spark-defaults.conf文件中设置信息

为了在spark应用程序中应用此配置,您必须在创建spark上下文时,在代码的
SparkConf
对象中配置这三个属性,如下所示

var conf = new SparkConf()
conf.set("spark.driver.cores","1")
conf.set("spark.executor.cores","1")
conf.set("spark.cores.max","1")

或者,如果您正在使用spark submit CLI提交应用程序,则可以使用驱动程序核心,运行应用程序时,
--executor cores
--conf spark.cores.max=1
选项。

如果您在spark-defaults.conf中提及,则无需在其他任何地方重复这些属性。要覆盖默认特性时,将使用此处描述的设置。希望我能向你说清楚。你找到解决同样问题的方法了吗?我有完全相同的问题。