目录
- 背景
- 第一部分 常用快捷键
- 参考文献及资料
背景
https://fares.codes/posts/dynamic-scaling-and-backpressure/
第一部分
- 建议采用以下做法以实现更好的自动缩放比例:
- 最好从相当大的集群和数量的执行程序开始,并在必要时进行缩减。(执行程序映射到YARN容器。)
- 执行者的数量应至少等于接收者的数量。
- 设置每个执行器的核心数,以使执行器具有一些多余的容量,这些容量超出了运行接收器所需的容量。
- 内核总数必须大于接收器数量;否则,应用程序将无法处理收到的数据。
- 设置
spark.streaming.backpressure.enabled
为true
,则Spark Streaming可以控制接收速率(基于当前的批处理调度延迟和处理时间),以便系统仅以其可以处理的速度接收数据。 - 为了获得最佳性能,请考虑使用Kryo序列化程序在Spark数据的序列化表示和反序列化表示之间进行转换。这不是Spark的默认设置,但是您可以显式更改它:将
spark.serializer
属性设置 为org.apache.spark.serializer.KryoSerializer
。 - 开发人员可以通过在不再需要DStream时取消缓存它们来减少内存消耗。
参考文献及资料
1、Job Scheduling,链接:https://spark.apache.org/docs/latest/job-scheduling.html#configuration-and-setup