java - Spark/Java 应用程序的 Dockerfile 通过 Spark Operator 执行

标签 java docker apache-spark google-spark-operator

我正在尝试使用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/

相关文章:

docker - 没有设置WORKDIR的Docker无法运行

node.js - 我无法从 docker 容器中的 nodejs 应用程序连接到 cassandra

cassandra - 如何在 shell 中加载 Spark Cassandra Connector?

java - 在 Tomcat 中配置基于 url 的 HTTPS 证书使用

java - recyclerview 中的 ViewPager

java - 如何在 Android 中更改 TableRow 的高度?

apache-spark - 从 pyspark 中的数据框列中删除最后一个竖线分隔值

java - 具有空布局的 JViewports?

docker - 从停止的 docker 容器中删除文件(不创建新镜像)

java - Spark (2.3+) 可从 PySpark/Python 调用的 Java 函数