小编Tom*_*loň的帖子

Spark 结构化流 未授权访问组

我正在尝试通过 Spark 结构化流从 Kafka 读取数据。但是,在Spark 2.4.0中,您无法为流设置group id(请参阅如何在Structured Streaming中为kafka数据源中的消费者组设置group.id?)。

然而,由于没有设置,spark 只是生成组 Id,而我陷入了 GroupAuthorizationException:

19/12/10 15:15:00 ERROR streaming.MicroBatchExecution: Query [id = 747090ff-120f-4a6d-b20e-634eb77ac7b8, runId = 63aa4cce-ad72-47f2-80f6-e87947b69685] terminated with error
org.apache.kafka.common.errors.GroupAuthorizationException: Not authorized to access group: spark-kafka-source-d2420426-13d5-4bda-ad21-7d8e43ebf518-1874352823-driver-2
Run Code Online (Sandbox Code Playgroud)

请问有什么想法可以绕过这个吗?有趣的是,我可以通过 kafka-console-consumer.sh 读取这些数据,我可以在 .properties 文件中传递组 ID。

抛出异常的代码:

val df = spark
  .readStream
  .format("kafka")
  .option("subscribe", "topic")
  .option("startingOffsets", "earliest")
  .option("kafka.group.id", "idThatShouldBeUsed")
  .option("kafka.bootstrap.servers", "server")
  .option("kafka.security.protocol", "SASL_SSL")
  .option("kafka.sasl.mechanism", "PLAIN")
  .option("kafka.ssl.truststore.location", "/location)
  .option("kafka.ssl.truststore.password", "pass")
  .option("kafka.sasl.jaas.config", """jaasToUse""")
  .load()
  .writeStream
  .outputMode("append")
  .format("console")
  .option("startingOffsets", "earliest")
  .start().awaitTermination()
Run Code Online (Sandbox Code Playgroud)

scala apache-kafka apache-spark spark-streaming spark-structured-streaming

2
推荐指数
1
解决办法
4696
查看次数

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

名称就绪状态重新启动年龄 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 …

kubernetes-helm spark-operator google-spark-operator

2
推荐指数
1
解决办法
1227
查看次数