我正在运行单个节点群集,并且我正在运行spark
独立模式(即我没有使用yarn
而不使用mesos
)。
这是我的问题:我的工作非常简单,而且有效。然后我再次运行完全相同的工作,它只是挂了很长时间。我去了火花网页UI,我可以看到它在“正在运行的应用程序”下,我看到我有Alive Workers等等,一切似乎都很好。我看到“使用中的内存”总共为14.6 GB,使用了14.0 GB ....这也应该没问题。当我执行df -h
时,磁盘使用率为70%。火花webUI报告我使用我使用4个核心中的3个...这也应该没问题。所以,我无法弄清问题是什么。
以下是有关我的机器的详细信息:
1.6.1
...这就是我的spark-defaults.conf
文件中的内容:
spark.driver.memory 3g
spark.history.ui.port=18081
spark.eventLog.enabled=true
spark.executor.memory=14g
spark.executor.cores=3
spark.executor.instances=1
spark.sql.broadcastTimeout = 9000
spark.memory.fraction = 0.8
#spark.default.parallelism=3
spark.task.maxFailures = 1
现在,在我重新启动spark-master
和spark-worker
后,突然一切正常。
为什么我必须在每一份工作之间重启?
答案 0 :(得分:4)
你可以在工作结束时加上这个吗,
sc.stop
其中sc
是您的SparkContext
如果这有帮助,请告诉我。欢呼声。
答案 1 :(得分:0)
当我做这两件事时,它会运行得非常好:
关闭像sudo service hadoop-yarn-resourcemanager stop
将spark.driver.memory
从3g减少到2g