spark-submit 参数设置

网友投稿 802 2022-05-28

在使用Spark时,根据集群资源情况和任务数据量等,合理设置参数,包括但不限于以下:

(1)executor_cores*num_executors

表示的是能够并行执行Task的数目不宜太小或太大!一般不超过总队列 cores 的 25%,比如队列总 cores    400,最大不要超过100,最小不建议低于40,除非日志量很小。

(2)executor_cores

不宜为1!否则 work 进程中线程数过少,一般 2~4 为宜。

(3)executor_memory

一般 6~10g 为宜,最大不超过20G,否则会导致GC代价过高,或资源浪费严重。

(4)driver-memory

driver 不做任何计算和存储,只是下发任务与yarn资源管理器和task交互,除非你是 spark-shell,否则一般 1-2g

(5)如果需要对RDD进行cache,那么更多的内存,就可以缓存更多的数据,将更少的数据写入磁盘,甚至不写入磁盘。减少了磁盘IO。

spark-submit 参数设置

(6)对于shuffle操作,reduce端,会需要内存来存放拉取的数据并进行聚合。如果内存不够,也会写入磁盘。

如果给executor分配更多内存以后,就有更少的数据,需要写入磁盘,甚至不需要写入磁盘。减少了磁盘IO,提升了性能。

(7)对于task的执行,可能会创建很多对象.如果内存比较小,可能会频繁导致JVM堆内存满了,然后频繁GC,垃圾回收 ,minor GC和full GC.(速度很慢).内存加大以后,带来更少的GC,垃圾回收,避免了速度变慢,性能提升。

spark Yarn

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:KK 的99 条额外的建议[翻译]#yyds干货盘点#
下一篇:[华为云在线课程][7天玩转MySQL基础实战营][day01入门和配置][学习笔记]
相关文章