问题标签 [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 投票
1 回答
291 浏览

apache-spark - 在 k8s 集群上运行 spark-operator

大家好,我正在尝试在我的 k8s 集群上运行 pi spark 示例。我已经安装了 spark 操作符,拉取图像并运行以下命令:

文档在这里

当我记录驱动程序窗格时,它会给出:

当我运行操作员吊舱时,它会给出:

这是我用于 ClusterRole 和 ClusterRoleBinding 的 rbac.yaml 文件(与原始 helm 图表文件相同的文件):https ://github.com/GoogleCloudPlatform/spark-on-k8s-operator/blob/master/charts/spark-operator-chart /templates/rbac.yaml 有 什么解决办法吗?

0 投票
0 回答
190 浏览

apache-spark - 使用 podTemplate 将 configMap 挂载到 spark 驱动程序

我正在尝试使用定义我的火花驱动程序自定义配置的 podTemplate 选项运行火花提交命令。

我仍然没有设法让它工作。

据我了解,kubernetes 会自动创建一个配置映射,将 spark.properties 文件挂载到挂载点 SPARK_CONF_DIR 上。当我尝试使用 podTemplate 挂载我的自定义 configmap(例如,我想在其中挂载 spark-env.sh)到同一个挂载点(应该是 SPARK_CONF_DIR)时,出现以下错误:挂载点应该是唯一的。

以前有人遇到过这个问题吗?

否则,了解如何将自定义配置安装到 spark pod 会有所帮助吗?

0 投票
1 回答
49 浏览

apache-spark - 如何更改作为 gcr.io/spark-operator/spark:v3.0.0-hadoop3 扩展的 spark-operator 映像中的 prometheus jmx 导出器规则

我们正在尝试替换prometheus.yamlin,/etc/metrics/conf因为它包含较旧的规则。我们尝试复制新的规则文件:

但是规则没有被采纳,prometheus 仍然忽略了新的指标。

0 投票
0 回答
162 浏览

apache-spark - Apache spark 与本地 s3 集成

我将 spark 与 on prem s3 (Minio) 和 spark 运算符一起使用。因此,当我们将 spark 与 s3 一起使用时(不启用 ssl )。它工作正常。我们能够获取数据、写入数据,并且还可以运行 s3 中存在的主应用程序 jar。但是,在启用 ssl 并提供自信任证书时(目前)。我们开始面临一些问题。

  1. 当我们尝试使用 s3 测试 spark 连接性时。我们运行本地作业 (master=local[]) 并尝试通过将其添加到 jks 信任库来提供我们的 ssl。这解决了我们的问题。

这是命令

  1. 当我们尝试通过在 s3 本身中提供应用程序 jar 来运行它时,它无法连接到 s3 来启动作业,因为我们在 sparkconf 参数中提供了证书并出现以下错误。

这是我们的火花运算符 yaml

注意:之前我们通过禁用 ssl 来使用 s3,我们可以通过在 s3 中提供应用程序 jar 来运行我们的工作,就像我们在上面的 yaml 中所做的那样。

我们怎样才能像尝试做的那样做我们的工作?可能吗?

0 投票
1 回答
126 浏览

apache-spark - EKS Apache spark 上的 Spark-operator 无法创建临时目录

我正在尝试使用 spark-operator 将简单的 spark-pi.yaml 部署到 AWS EKS。我已经成功部署了 spark-operator

在此处参考部署 YAML spark-operator 示例

进行 helm install 时出现以下错误

我该如何解决这个问题?

0 投票
0 回答
21 浏览

airflow - 如何将上下文从 SparkOperator 传递到另一个 SparkOperator 气流

我有 2 个相关的 sparkOperators,我希望将上下文从一个运算符传递到另一个运算符,我尝试构建自定义运算符,但执行方法不调用 spark 提交。

我想将帐户从创建报告传递到数据验证,因此 create- report1将数据传递到datavalidation1等等。

我究竟做错了什么 ?

0 投票
1 回答
44 浏览

scala - executor.CoarseGrainedExecutorBackend (Logging.scala:logInfo(57)) - 驱动程序命令关闭 - 我如何在驱动程序端进行调试?

我从执行者那里获取日志(从底部开始):

如何在 Spark 驱动程序中启用任何类型的日志记录,以了解驱动程序上的哪种事件触发了执行程序关闭?Driver 或 Executor 不缺内存,Pod 指标显示它们占用的内存远远超过限制 + 开销。因此,看起来关闭信号的原因并不是缺乏资源,而是可能是一些隐藏的异常,没有记录在任何地方。

根据@mazaneicha 的建议,我尝试设置更长的超时时间,但仍然出现相同的错误

0 投票
0 回答
16 浏览

apache-spark - Spark Operator:crds 的变化

每当 SparkApplication 的状态发生变化时,我都会尝试添加通知功能。为此,我正在关注 developer_guide。我在 pkg/apis/sparkoperator.k8s.io/v1betav2/types.go 中进行了更改,并在下面添加了邮件字段行

和 mailTo 在 Spec 中列出

Mail []string json:"mail,omitempty"

我在 main.go 和 controller.go 中添加了相关代码

但是,运行后

manifest/crds/ 不包含 crds 中的 mail 字段。是否必须手动创建。我可以在 zz_generated.deepcopy.go 中看到我的对象

0 投票
2 回答
246 浏览

kubernetes - Argo Workflow + Spark 操作员 + 未生成应用程序日志

我正处于使用 Spark 操作员探索 Argo 的早期阶段,以便在我的 EC2 实例上的 minikube 设置上运行 Spark 示例。

以下是资源详细信息,不知道为什么看不到 spark 应用程序日志。

工作流.YAML

角色

阿尔戈用户界面

工作流状态

工作流日志

为了深入挖掘,我尝试了https://dev.to/crenshaw_dev/how-to-debug-an-argo-workflow-31ng上列出的所有步骤,但无法获取应用程序日志。

基本上,当我运行这些示例时,我期望打印火花应用程序日志 - 在这种情况下,输出以下 Scala 示例

https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/GroupByTest.scala

有趣的是,当我列出 PODS 时,我期待看到驱动程序 pod 和执行程序 pod,但总是只看到一个 POD,并且它有上面的日志,如附图所示。请帮助我了解为什么不生成日志以及如何获取它?

0 投票
1 回答
89 浏览

kubernetes-helm - Helm install spark-operator 尝试下载不存在的版本,无法强制使用正确的版本

我正在尝试安装任何工作版本的 spark- operator https://console.cloud.google.com/gcr/images/spark-operator/GLOBAL/spark-operator?tag=v1beta2-1.3.1-3.1.1我本地的 Kubernetes。但是,spark pod 卡在 ImagePullBackOff 上,试图下载不存在的版本。

命令:

helm repo add spark-operator https://googlecloudplatform.github.io/spark-on-k8s-operator

helm install v1beta2-1.2.1-3.0.0 spark-operator/spark-operator --namespace spark-operator6 --create-namespace

kubectl get pods -n spark-operator6

NAME READY STATUS RESTARTS AGE v1beta2-1.2.1-3.0.0-spark-operator-67577fd4d4-m9zmw 0/1 ImagePullBackOff 0 6s

kubectl describe pod v1beta2-1.2.1-3.0.0-spark-operator-67577fd4d4-m9zmw

图片:gcr.io/spark-operator/spark-operator:v1beta2-1.3.1-3.1.1 - 不同的! 无法提取图像“gcr.io/spark-operator/spark-operator:v1beta2-1.3.1-3.1.1”:rpc 错误:代码 = 未知 desc = 来自守护进程的错误响应:gcr.io/spark-operator 的清单/spark-operator:v1beta2-1.3.1-3.1.1 未找到:清单未知:无法从请求“/v2/spark-operator/spark-operator/manifests/ 获取“v1beta2-1.3.1-3.1.1” v1beta2-1.3.1-3.1.1"

现在这似乎是一个不正确的版本。试图通过 helm install flag --operatorVersion 覆盖它,但这完全被忽略了。

通过查看其模板helm template v1beta2-1.2.1-3.0.0 spark-operator/spark-operator --namespace spark-operator6 --set operatorVersion=v1beta2-1.2.1-3.0.0 > template.yaml,所有 app.kubernetes.io/instance 都在正确的版本上,但所有 app.kubernetes.io/version 都显示不存在的 v1beta2-1。3.1-3.1.1。更正它并尝试通过正确的值安装

helm install -f template.yaml v1beta2-1.2.1-3.0.0 spark-operator/spark-operator --namespace spark-operator6

但这又被完全忽略了。

我觉得我在这里遗漏了一些非常基本的东西, helm install 不可能那么坏。非常感谢任何帮助,谢谢。