Apache spark Spark worker在运行一段时间后死亡

Apache spark Spark worker在运行一段时间后死亡,apache-spark,out-of-memory,Apache Spark,Out Of Memory,我正在运行spark流媒体工作 我的群集配置 Spark version - 1.6.1 spark node config cores - 4 memory - 6.8 G (out of 8G) number of nodes - 3 对于我的工作,我为每个节点提供6GB内存,总内核数为3 作业运行一个小时后,我在工作日志中发现以下错误 Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x000

我正在运行spark流媒体工作

我的群集配置

Spark version - 1.6.1
spark node  config
cores - 4
memory - 6.8 G (out of 8G)
number of nodes - 3
对于我的工作,我为每个节点提供6GB内存,总内核数为3

作业运行一个小时后,我在工作日志中发现以下错误

    Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f53b496a000, 262144, 0) failed; error='Cannot allocate memory' (errno=12)
    #
    # There is insufficient memory for the Java Runtime Environment to continue.
    # Native memory allocation (mmap) failed to map 262144 bytes for committing reserved memory.
    # An error report file with more information is saved as:
    # /usr/local/spark/sbin/hs_err_pid1622.log
然而,我在我的工作目录/app id/stderr中没有看到任何错误

通常建议运行spark worker的xm*设置是什么

如何进一步调试此问题

PS:我用默认设置启动了worker和master

更新:

我看到我的执行器经常被添加和删除,因为出现错误
“无法分配内存”。

日志:


我也有同样的情况。我在官方文件中找到了原因,它说:

一般来说,Spark可以在每台机器上运行8 GB到数百GB的内存。在所有情况下,我们建议只为Spark分配最多75%的内存;剩下的留给操作系统和缓冲区缓存

您的计算内存为8GB,6GB用于工作节点。因此,如果操作系统使用的内存超过2GB,则工作节点的内存不足,工作节点将丢失。
*只需检查操作系统将使用多少内存,并为工作节点分配剩余内存*

请检查此问题。我很久以前就使用了官方文档中的解决方案。我想你已经解决了这个问题。我是新来的,刚刚开始学习Spark。
  16/06/24 12:53:47 INFO MemoryStore: Block broadcast_53 stored as values in memory (estimated size 14.3 KB, free 440.8 MB)
  16/06/24 12:53:47 INFO BlockManager: Found block rdd_145_1 locally
  16/06/24 12:53:47 INFO BlockManager: Found block rdd_145_0 locally
  Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f3440743000, 12288, 0) failed; error='Cannot allocate memory' (errno=12)