我在一台机器上以独立模式运行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下模式。
非常感谢任何帮助,
由于