Facebook Spark 60TB Spark应用场景总结学习

可用性调优

SPARK-13793

之前的PipedRDD实现容错性较差,只要发生fetch错误时,整个job就会失败,该PR改进了PipedRDD从而可以更优雅地处理fetch错误,使得job可以从失败中恢复;

SPARK-13369

可配置最大fetch失败次数,对于长时间运行的服务,由于机器重启导致fetch失败的次数可能会显著增加,这里增加了一个可配置fetch失败的最大次数(4-20)从而使得任务更加鲁邦。

SPARK-13279

反应迟钝的driver,当添加一个task时driver会操作(O^2)次导致反应迟钝,导致job阻塞或者被Killed。当提交200k个tasks时,executor不能再注册由于driver被阻塞住,通过jstask观察锁在TaskSchedulerImpl.submitTasks上。

SPARK-13850

TimSort存在存在一处bug导致处理内存操作时导致curruption;

调节shuffle service使得可以处理更大量的连接

通过设置spark.shuffle.io.serverThreadsspark.shuffle.io.backLog来处理在shuffle阶段executor的timeout情况;

SPARK-13958

发现host处理4个reduce任务时会发生OOM,发现了一处ShuffleExternal溢出内存时的bug;

性能提升

性能监控工具

  1. SparkUI
  2. jstack
  3. libperfagent for Java symbol生成火焰图

参考:
* https://code.facebook.com/posts/1671373793181703

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值