我们正在运行以Mesos为资源管理主体的Spark。 在我们的集群中,有些作业需要非常短的响应时间(接近实时应用程序),通常大约需要3-5秒。
要使Spark与Mesos一起执行,必须指定SPARK_EXECUTOR_URI配置,该配置定义了Mesos每次启动新作业时可以获取Spark二进制文件的位置。
我们注意到,即使二进制文件基本相同,每次运行时都会重复获取和提取Spark二进制文件。 更重要的是,获取和提取此文件可能会导致 2-3秒的延迟,这对于我们的实时应用程序来说是致命的。此外,在运行许多Spark作业之后,Spark二进制tar会累积起来并占用很大的磁盘空间。
结果是,我们想知道是否存在一种避免该提取和提取过程的解决方法,因为每个Mesos代理都可以在本地使用Spark二进制文件?