问题标签 [spark-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
347 浏览

java - 使用 Java api 调用 Kubernetes Spark Operator

有很多使用 Kubernetes Spark Operator 创建 Spark 作业的示例,只需使用以下内容提交请求

spark-pi.yaml 可以在这里找到

有谁知道使用 Java K8s api 提交这样的工作的最简单方法?

0 投票
1 回答
846 浏览

apache-spark - 如何将 Spark 的 JVM 指标发送到 Kubernetes 中的 Prometheus

我正在使用 Spark 运算符在 Kubernetes 上运行 Spark。( https://github.com/GoogleCloudPlatform/spark-on-k8s-operator )

我正在尝试在 Spark 驱动程序和执行程序 pod 中运行 Java 代理,并通过 Kubernetes 服务将指标发送给 Prometheus 操作员。

我正在使用这个例子 https://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/master/examples/spark-pi-prometheus.yaml

Java 代理会在短时间内公开端口 8090 上的指标(我可以通过端口转发 kubctl port-forward < spark-driver-pod-name > 8090:8090 验证),该服务也公开了一些指标分钟(可以通过端口转发 kubctl port-forward svc/< spark-service-name > 8090:8090 验证)。

Promethues 能够在 prometheus 中注册这些 pod 的 URL,但是当它试图抓取指标(每 30 秒运行一次)时,pod 的 URL 已关闭。

如何让 Java 代理 JMX 导出器长时间运行,直到驱动程序和执行程序完成工作。你能在这里指导或帮助我吗,以前谁遇到过这种情况?

0 投票
1 回答
539 浏览

apache-spark - 使用 spark-on-k8s 时如何将环境变量注入驱动程序吊舱?

我正在使用 k8s 上的 GCP spark 编写 Kubernetes Spark 应用程序。

目前,我被困在无法将环境变量注入我的容器中。

我在这里关注文档

显现:

在 pod 中设置的环境变量:

0 投票
1 回答
563 浏览

apache-spark - spark-operator 登录 k8s

我正在为 Kubernetes 使用 spark-operator。

https://github.com/GoogleCloudPlatform/spark-on-k8s-operator

我能够成功运行作业,但是由于 pod 是动态的,因此在监视和排除作业时遇到了很多麻烦。

我想知道启用历史服务器(到 s3a://<bucket>)以及 spark-operator 的最佳方法。

另外,如何将每个作业的驱动程序/执行程序的标准输出和标准错误日志存储在 s3a://<bucket> 中。

0 投票
1 回答
277 浏览

apache-spark - 在 Kubernetes Spark Operator 上部署时,Spark Master 地址设置为什么?

官方spark 文档仅包含有关spark-submit将代码部署到 spark 集群的方法的信息。它提到我们必须在 kubernetes api 服务器的地址前面加上k8s://. 通过Spark Operator部署时我们应该怎么做?

例如,如果我有一个像这样启动的基本 pyspark 应用程序,我该如何设置 master:

在这里我有local,如果我在非 k8 的集群上运行,我会提到带有spark://前缀或的主地址yarnk8s://如果通过 Spark Operator 部署,我还必须使用前缀吗?如果不是,主参数应该使用什么?

0 投票
0 回答
274 浏览

apache-spark - Spark on Kubernetes 故障排除

我有一个 kubernetes 集群,我尝试在其中运行 spark 示例应用程序 (spark-pi)。

我已经设置了一个服务帐户 =spark

设想

当我spark-submit像下面这样从命令行执行操作时,出现容器错误。

期待:

获取打印在日志中的pi=值3.14

实际结果:

由于出现错误情况,驱动程序窗格未出现。当我在 pod 上进行描述时,我看到以下内容:

  • $ kubectl describe pods spark-pi-driver

事件:无

我也没有看到任何事件

有没有更好的方法来解决这种情况?请帮忙。

0 投票
0 回答
84 浏览

kubernetes - Kubernetes Spark Operator:配置自动应用重启和故障处理

在 kubernetes 上,可以使用可选字段配置容器重启策略,该字段.spec.restartPolicy可以设置为type: OnFailure. 我在这里读到 ,在重新启动失败的 Pod 之前,指数回退延迟的上限为 300 秒(5 分钟)。我的第一个困惑是,这个 300 秒的上限是否仅适用于默认配置,还是会影响例如以下配置。另外,我想知道考虑到集群上的资源压力是否增加重试次数,例如onFailureRetries:6间隔onFailureRetryInterval:9 (考虑到 300 秒上限)是否有意义?是否有资源可以帮助了解使用哪种最佳配置,或者这将基于用户体验,或者我只需要尝试看看什么对我的集群有意义?

0 投票
0 回答
34 浏览

scala - 如何检查 spark k8 运算符的 scala 版本兼容性?

目前我正在使用 spark 2.4.6 并在我的 k8
https://github.com/GoogleCloudPlatform/spark-on-k8s-operator中设置了 spark operator 3.0.0


在部署它提供的构建时:
我们可以检查 spark operator 3.0.0 是否与 scala 2.12 兼容?
0 投票
0 回答
181 浏览

apache-spark - K8s 上的 Spark:当 Spark 应用程序尝试解析同一集群上不同命名空间中另一个 pod 的 DNS(获取)时,出现 UnknownHostException

我能够在 k8s 中执行 SparkPi 并部署(在 GKE 中)。

但是,当我尝试将 PI 值广播到我的微服务时toys-broadcast-svc.toys.svc.cluster.local

我无法解析 DNS(获取UnknownHostException)。任何人都可以帮忙吗?我在这里错过了什么吗?

供您参考:

  • 我已经用 helm 安装了操作员 helm install sparkoperator incubator/sparkoperator --namespace toys-spark-operator --set sparkJobNamespace=toys-spark,enableWebhook=true

  • 我正在使用 spark-operator(微服务在命名空间中toys ,火花在命名空间中toys-spark

0 投票
0 回答
31 浏览

apache-spark - 使用 Spark Operator 在 Kubernetes 中启用多集群故障转移

我想使用多集群 Kubernetes 设置启用故障转移方案。它的行为应该如下所示:

用户在集群 1 中创建 Spark 应用程序。集群 1 失败/Spark 作业无法继续。然后集群 2 应该接管并启动类似的 Spark 应用程序,甚至继续运行在集群 1 中运行的相同 Spark 作业。

是否有任何可用的工具可以实现这一点?如果不是,那么实施它的最佳方式是什么?通过在两个相互通信的集群中部署两个控制器