spark\:spark.executor.cores=1
distcp\:mapreduce.map.java.opts=-Xmx2457m
spark\:spark.driver.maxResultSize=1920m
mapred\:mapreduce.map.java.opts=-Xmx2457m
yarn\:yarn.nodemanager.resource.memory-mb=6144
mapred\:mapreduce.reduce.memory.mb=6144
spark\:spark.yarn.executor.memoryOverhead=384
mapred\:mapreduce.map.cpu.vcores=1
distcp\:mapreduce.reduce.memory.mb=6144
mapred\:yarn.app.mapreduce.am.resource.mb=6144
mapred\:mapreduce.reduce.java.opts=-Xmx4915m
yarn\:yarn.scheduler.maximum-allocation-mb=6144
dataproc\:dataproc.scheduler.max-concurrent-jobs=11
dataproc\:dataproc.heartbeat.master.frequency.sec=30
mapred\:mapreduce.reduce.cpu.vcores=2
distcp\:mapreduce.reduce.java.opts=-Xmx4915m
distcp\:mapreduce.map.memory.mb=3072
spark\:spark.driver.memory=3840m
mapred\:mapreduce.map.memory.mb=3072
yarn\:yarn.scheduler.minimum-allocation-mb=512
mapred\:yarn.app.mapreduce.am.resource.cpu-vcores=2
spark\:spark.yarn.am.memoryOverhead=384
spark\:spark.executor.memory=2688m
spark\:spark.yarn.am.memory=2688m
mapred\:yarn.app.mapreduce.am.command-opts=-Xmx4915m
由于这个问题没有答案,总而言之,这个问题似乎与spark.executor.memory
设置得太低有关,导致执行程序偶尔出现内存不足的错误。
建议的修复方法是首先尝试从默认的Dataproc配置开始,该配置尝试充分使用实例上可用的所有内核和内存。如果问题仍然存在,请调整spark.executor.memory
和spark.executor.cores
以增加每个任务的可用内存量(本质上是spark.executor.memory
/spark.executor.cores
)。
Dennis还在下面的回答中给出了关于Dataproc上Spark内存配置的更多细节:
Google Cloud Dataproc配置问题
问题内容: 我将移动客户端连接到node.js服务器,并通过xhr-polling运行socket.io。我有两种类型的客户: A型 当由于网络问题(或客户端崩溃)而导致连接中断时,默认的心跳超时时间过长 B型 当此客户端的连接断开时,我需要给它更多的时间来恢复-与服务器断开连接/会话相比,客户端进行恢复更重要 所以我的问题是如何配置(如果可能)来自实际客户端的心跳超时? 问题答案: 据我所知,这
嵌入式设备上,只能运行SRS时,其他的业务系统可能需要知道这个设备的ip等信息,SRS可以以http方式主动汇报给api服务器。 编译 要求编译时支持http-parser,即开启了下面任何一个选项即支持: --with-http-api HTTP接口。 --with-http-server HTTP服务器。 --with-http-callback HTTP回调。 配置 在全局配置以下信息即可以
示例: heartbeat 你可以设置自动的心跳来保持连接不断掉。 rpcx会自动处理心跳(事实上它直接就丢弃了心跳)。 客户端需要启用心跳选项,并且设置心跳间隔: option := client.DefaultOption option.Heartbeat = true option.HeartbeatInterval = time.Second
注意:长连接应用必须加心跳,否则连接可能由于长时间未通讯被路由节点强行断开。 心跳作用主要有两个: 1、客户端定时给服务端发送点数据,防止连接由于长时间没有通讯而被某些节点的防火墙关闭导致连接断开的情况。 2、服务端可以通过心跳来判断客户端是否在线,如果客户端在规定时间内没有发来任何数据,就认为客户端下线。这样可以检测到客户端由于极端情况(断电、断网等)下线的事件。 心跳间隔建议值: 建议客户端发
我对Spark执行器、驱动程序、执行器内核、执行器内存的价值有些怀疑。 如果集群上没有运行应用程序,如果您提交作业,Spark执行器、执行器核心、执行器内存的默认值是多少? 如果我们想计算您要提交的作业所需的Spark执行器、执行器核心、执行器内存的值,您将如何做到这一点?
GatewayWorker支持服务端向客户端定时发送心跳包检测连接是否存活 为什么需要心跳检测? 正常的情况客户端断开连接会向服务端发送一个fin包,服务端收到fin包后得知客户端连接断开,则立刻触发onClose事件回调。 但是有些极端情况如客户端掉电、网络关闭、拔网线、路由故障等,这些情况客户端无法发送fin包给服务端,服务端便无法知道连接已经断开。如果客户端与服务端定时有心跳数据传输,则会比