我对在Spark-1.5.2中配置执行程序和驱动程序内存感到困惑。
我的环境设置如下:
$(function() {
$("#accordion").accordion();
$('#accordion button[name=tab-control]').on('click',function (e) {
e.preventDefault();
var control = ($(this).is('.next') ? 1 : -1);
$('#accordion').accordion('option', 'active', ($('#accordion').accordion('option', 'active') + control));
});
$('#selectSection').on('change', function() {
if($(this).val() === 's2') {
$('#ui-id-3').addClass('ui-state-disabled');
}
else {
$('#ui-id-3').removeClass('ui-state-disabled');
}
});
输入数据信息:
来自Hive的460 GB Parquet格式表 我正在使用spark-sql来查询带有spark-on-yarn的hive上下文,但是它比Hive慢得多,并且我不确定Spark的内存配置是否合适,
这些是我的配置,
3 Node MAPR Cluster - Each Node: Memory 256G, 16 CPU
Hadoop 2.7.0
Spark 1.5.2 - Spark-on-Yarn
如何避免Spark java.lang.OutOfMemoryError:Java堆空间异常和 GC开销限制超出异常!! ???
非常感谢您的帮助!
答案 0 :(得分:1)
乍一看,你的遗嘱执行人已经耗尽了。我建议增加记忆力。
请注意,SPARK_WORKER_MEMORY仅用于独立模式。 SPARK_EXECUTOR_MEMORY用于YARN模式。
如果您没有在群集上运行任何其他内容,则可以尝试以下配置:
spark.executor.memory 16g
spark.executor.cores 1
spark.executor.instances 40
spark.driver.memory 5g (make it bigger if expected
final result dataset is larger)
我不建议设置大型执行程序内存,因为这通常会增加GC时间。我看到的另一件事是,这些实例是内存优化的。如果这适合你的情况,请三思而后行。