Spark本地跑CoarseGrainedScheduler

背景

众所周知,分布式环境是很难debug,但又是必须的。本文主要目的是说怎样在单机环境下模拟分布式环境去跑spark的代码。

公司的spark是跑在yarn上的,Driver用的是YarnClusterSchedulerBackend,其父类是CoarseGrainedExecutorBackend,executor用的是CoarseGrainedExecutorBackend。
本地环境默认情况下只能跑local模式,他们用的代码明显不一样,比如说我想复现集群环境中的Fetch fail,只让部分executor重试,由于local模式下只有一个driver,没有多个executor,所以没办法搞。另外我们不需要Yarn的东西,否则还得启动Yarn、Namenode等服务,比较费劲。

所以关键是怎样在单机环境中跑CoarseGrainedSchedulerBackend和CoarseGrainedExecutorBackend,同时屏蔽Yarn相关的代码

Spark调度模块介绍

单机跑粗粒度driver和executor

先开个坑,未完待续

添加新评论