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 纱线资源管理器';总内存是多少?_Apache Spark_Pyspark_Amazon Emr - Fatal编程技术网

Apache spark 纱线资源管理器';总内存是多少?

Apache spark 纱线资源管理器';总内存是多少?,apache-spark,pyspark,amazon-emr,Apache Spark,Pyspark,Amazon Emr,我使用aws emr和Thread客户端在1 MasterNode、3 WorkerNode配置中运行Spark群集,MasterNode是客户端机器。所有4个节点都有8GB内存,每个节点有4个核心。考虑到硬件设置,我设置了以下内容: spark.executor.memory = 5G spark.executor.cores = 3 spark.yarn.executor.memoryOverhead = 600 在这种配置下,Thread的ResourceManager所识别的预期总内存

我使用aws emr和Thread客户端在1 MasterNode、3 WorkerNode配置中运行Spark群集,MasterNode是客户端机器。所有4个节点都有8GB内存,每个节点有4个核心。考虑到硬件设置,我设置了以下内容:

spark.executor.memory = 5G
spark.executor.cores = 3
spark.yarn.executor.memoryOverhead = 600
在这种配置下,Thread的ResourceManager所识别的预期
总内存是否为15GB?它显示的是18GB。我只见过运行Spark应用程序时纱线使用高达15GB的容量。这是来自
spark.executor.memory*3节点的15GB吗

我想假设纱线总内存是通过
spark.executor.Memory+spark.warn.executor.memoryOverhead
计算的,但我在任何地方都找不到记录。找到确切数字的正确方法是什么

我应该能够将
spark.executor.memory
的值增加到
6G
对吗?我在过去的设置中也遇到过错误。是否需要设置其他配置

编辑-使其看起来像
warn.scheduler的workerNodes值。最大分配mb
6114
或6GB。这是EMR为实例类型设置的默认值。由于6GB*3=18GB,这可能是有道理的。我想重新启动纱线并将该值从6GB增加到7GB,但由于这是一个正在使用的集群,所以我想我的问题仍然存在

我想假设纱线总内存是由spark.executor.Memory+spark.warn.executor.memoryOverhead计算的,但我在任何地方都找不到记录。找到确切数字的正确方法是什么

这有点正确,但倒过来说。纱线的总内存与您为Spark设置的任何配置无关<代码>纱线。调度程序。最大分配mb
控制纱线可以访问和找到的内存量。要使用Spark的所有可用内存,您需要将
Spark.executor.memory
+
Spark.Thread.executor.memoryOverhead
设置为等于
Thread.scheduler.maximum allocation mb
。有关调整spark作业和计算配置的更多信息,请参阅

我应该可以把spark.executor.memory的值增加到6G,对吗

根据电子表格,
spark.executor.memory
的上限为
5502M
如果warn.scheduler.maximum-allocation-mb为
6114M
。手动计算,这是
.9*6114
,默认为
spark.executor.memoryOverhead

executorMemory*0.10
,最小值为
384
()

完美,感谢您的解释。设置
warn.scheduler.maximum allocation mb
到机器的完整内存有什么不利之处吗?我很惊讶AWS将其设置为整个机器内存的75%(m4.large),这是我没有经验的。非纱线工艺(如操作系统)可能需要一些资源。或者,出于管理目的,纱线可能需要一些资源。但是,这些只是猜测。()讨论了如何使用48 GB中的40 GB(约83%),以实现其价值