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 - Fatal编程技术网

Apache spark 实际执行器内存与我设置的执行器内存不匹配

Apache spark 实际执行器内存与我设置的执行器内存不匹配,apache-spark,Apache Spark,我有一个spark2.0.1集群,有一个主服务器(slaver1)和两个辅助服务器(slaver2,slaver3),每台机器都有2GB的RAM /bin/spark shell--主控spark://slaver1:7077 --执行器存储器500m 当我检查web中的执行器内存时(slaver1:4040/executors/)。我发现它是110MB。 您所说的内存实际上是存储内存Spark将内存[称为Spark memory]分为两个区域,第一个区域是存储内存,第二个区域是执行内存 总内存

我有一个spark2.0.1集群,有一个主服务器(slaver1)和两个辅助服务器(slaver2,slaver3),每台机器都有2GB的RAM
/bin/spark shell--主控spark://slaver1:7077 --执行器存储器500m
当我检查web中的执行器内存时(slaver1:4040/executors/)。我发现它是110MB。
您所说的内存实际上是存储内存Spark将内存[称为
Spark memory
]分为两个区域,第一个区域是
存储内存
,第二个区域是
执行内存

总内存可以用这个公式计算
(“Java堆”-“保留内存”)*spark.Memory.fraction

为了让您概括了解存储内存,此池用于存储ApacheSpark缓存数据和临时空间序列化数据“展开”。此外,所有“广播”变量都作为缓存块存储在那里

如果您想检查提供的总内存,可以在开始时转到Spark UI
Spark Master Ip:8080
[默认端口],您可以找到名为
内存
的部分,该部分是Spark使用的总内存


谢谢

您所说的内存实际上是存储内存Spark将内存[称为
Spark memory
]分为两个区域,第一个区域是
存储内存
,第二个区域是
执行内存

总内存可以用这个公式计算
(“Java堆”-“保留内存”)*spark.Memory.fraction

为了让您概括了解存储内存,此池用于存储ApacheSpark缓存数据和临时空间序列化数据“展开”。此外,所有“广播”变量都作为缓存块存储在那里

如果您想检查提供的总内存,可以在开始时转到Spark UI
Spark Master Ip:8080
[默认端口],您可以找到名为
内存
的部分,该部分是Spark使用的总内存


感谢Spark 1.6版本中的,内存将根据下图进行划分

执行和存储内存之间没有硬边界。所需的存储内存比从执行内存和反之亦然。这个 执行和存储内存由(ExecutorMemory-300Mb)*spark.memory.fraction给出

在您的情况下(500-300)*).75=150mb在分配的执行器内存中将有3%到5%的错误

300Mb是保留内存

用户内存=(ExecutorMemory-300)*.(1-spark.memory.fraction)。

在您的情况下(500-300)*).25=50mb


从Spark 1.6版开始,内存根据下图进行划分

执行和存储内存之间没有硬边界。所需的存储内存比从执行内存和反之亦然。这个 执行和存储内存由(ExecutorMemory-300Mb)*spark.memory.fraction给出

在您的情况下(500-300)*).75=150mb在分配的执行器内存中将有3%到5%的错误

300Mb是保留内存

用户内存=(ExecutorMemory-300)*.(1-spark.memory.fraction)。

在您的情况下(500-300)*).25=50mb


此公式???Java堆(500MB)*spark.memory.fraction(默认值为0.6)*spark.memory.storyfraction(默认值为0.5)=150MB此公式???[Java堆(500MB)-保留内存(300MB)]*spark.Memory.fraction(默认值为0.5)=100MB≈ 110MB在我的问题中,这个公式来自spark版本1.6,可能会有一些变化。你的答案对这个公式很有帮助???Java堆(500MB)*spark.memory.fraction(默认值0.6)*spark.memory.storyfraction(默认值0.5)=150MB这个公式???[Java堆(500MB)-保留内存(300MB)]*spark.Memory.fraction(默认值为0.5)=100MB≈ 110MB在我的问题中,这个公式来自spark 1.6版,可能有点变化。你的回答对我很有帮助