E-MapReduce
可以在Spark UI shuffle stage页面查看下下图中的metrics,结合shuffle write size以及shuffle write time,能比较直观地反映端到端的shuffle性能。
通常是Celeborn到达性能瓶颈,可能的原因很多,可以排查磁盘IOPS/磁盘带宽是否达到上限,以及celeborn是否存在大量PausePushData时间较长的节点。参考下面几个监控指标:
如果磁盘性能没有到达瓶颈,可以结合节点规格和负载情况,适当调大worker 堆外内存,或者调节pause阈值:
CELEBORN_WORKER_OFFHEAP_MEMORY=xxx
celeborn.worker.directMemoryRatioToPauseReceive=xxx
如果大作业经常出现shuffle fetch failed,可以考虑在磁盘容量充足的情况下开启celeborn多副本,Spark作业可以添加如下参数开启:
--conf spark.celeborn.client.push.replicate.enabled=true