多个spark执行器使用相同的spark.local.dir



我通过设置以下属性在Mesos Docker容器上运行Spark应用程序。

--conf 'spark.local.dir=/var/lib/spark'
--conf 'spark.mesos.executor.docker.image=my_spark_docker_image'
--conf 'spark.mesos.executor.docker.volumes=/var/data/x-spark:/var/lib/spark,/opt/local/mesos:/opt/local/mesos:ro'
--conf 'spark.executorEnv.MESOS_NATIVE_JAVA_LIBRARY=/opt/local/mesos/lib/libmesos.so'
  • 所有Spark执行器都是docker容器(由mesos docker启动)。
  • 同一个主机上可以运行一个或多个Spark executor。
  • spark.local.dir属性为/var/lib/spark,由docker从主机挂载。

即同一主机上的所有Spark执行器共享同一个本地目录(/var/data/x-spark)。

看起来一切都很好,但我担心文件损坏。

很安全。每个作业将创建自己的子目录。

最新更新