首页 > 解决方案 > 在 Kubernetes 上运行 Spark2.3,远程依赖 S3

问题描述

我正在运行spark-submitKubernetes (Spark 2.3)。我的问题是,InitContainer如果它被指定为 s3a:// 路径,则不会下载我的 jar 文件,但如果我将我的 jar 放在 HTTP 服务器上并使用 http://,它确实可以工作。spark驱动程序失败了,当然,因为它找不到我的Class(实际上jar文件不在图像中)。

我尝试了两种方法:

  1. 指定 jar 的 s3a 路径作为 spark-submit 的参数和
  2. 用于--jars指定 jar 文件在 s3a 上的位置,但两者都以相同的方式失败。

编辑:另外,使用 local:///home/myuser/app.jar 不适用于相同的症状。

在运行失败(依赖于 s3a)时,我登录到容器并发现目录 /var/spark-data/spark-jars/ 为空。init-container 日志不指示任何类型的错误。

问题:

  1. 在 S3A 上指定远程依赖项的正确方法是什么?
  2. 还不支持 S3A 吗?只有http(s)?
  3. 关于如何进一步调试 InitContainer 以确定为什么没有发生下载的任何建议?

标签: apache-sparkkubernetes

解决方案


推荐阅读