Spark Streaming Job保持不断增长的记忆力

时间:2016-08-05 05:21:42

标签: apache-spark memory-leaks spark-streaming

我在一台机器上以独立模式运行spark v 1.6.1,具有64GB RAM和16个核心。

我创建了五个工作实例来创建五个执行器,就像在独立模式下一样,一个工作节点中不能有多个执行器。

配置:

  

SPARK_WORKER_INSTANCES 5

     

SPARK_WORKER_CORE 1

     

SPARK_MASTER_OPTS“-Dspark.deploy.default.Cores = 5”

spark_env.sh

中的所有其他配置均为默认配置

我正在以1分钟的间隔运行一个spark spark直接kafka作业,它从kafka获取数据,并在一些聚合之后将数据写入mongo。

问题:

  

当我启动主服务器和从服务器时,它启动一个主进程和五个工作进程。每个只消耗大约212 MB的ram。当我提交作业时,它再次创建5个执行程序进程和1个作业进程,并且内存使用总量增长到8GB并且随着时间的推移(缓慢)也会在没有数据的情况下继续增长过程

我们最终没有缓存的rdd也将spark.cleaner.ttl设置为600.但是内存仍在增长。

  

还有一件事,我已经看到了合并的SPARK-1706,那么为什么我无法在worker中创建多个执行器。而且在spark_env.sh文件中,设置与执行器相关的任何配置都只在YARN下模式。

非常感谢任何帮助,

由于

0 个答案:

没有答案