我正在尝试使用spark-operator在kubernetese(通过minikube)上运行spark/java应用程序。我有点困惑我应该在 Dockerfile 中放置什么,以便它可以以图像格式构建并通过 Spark-operator 执行?
示例spark-operator.yaml:
apiVersion: sparkoperator.k8s.io/v1beta2
kind: SparkApplication
metadata:
name: my-spark-app
namespace: default
spec:
type: Java
mode: cluster
image: docker/repo/my-spark-app-image
mainApplicationFile: local:///opt/app/my-spark-app.jar
如上所述,spark 运算符(operator) yaml 仅需要 jar 和图像位置。那么,我需要在 Dockerfile 的下面提及吗?有没有可用的示例 Dockerfile 可供我引用?
Dockerfile:
FROM openjdk11:alpine-jre
COPY target/*.jar /opt/app/csp_auxdb_refresh.jar
COPY src/main/resources/* opt/app
最佳答案
在您提供的Dockerfile
中,既没有安装Spark,也没有安装其他依赖项。
要快速开始,请使用 gcr.io/spark-operator/spark:v3.1.1
作为镜像的基础,即将 FROM
语句更改为 FROM gcr.io/spark-operator/spark:v3.1.1
并再次构建。
在他们的 Github 存储库 ( here ) 中,有关于如何开始使用 spark-operator
的精彩指南。
关于java - Spark/Java 应用程序的 Dockerfile 通过 Spark Operator 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67878675/