相关疑难解决方法(0)

如何在Structured Streaming的kafka数据源中为消费者组设置group.id?

我想使用 Spark Structured Streaming 从安全的 kafka 中读取数据。这意味着我需要强制使用特定的 group.id。但是,正如文档中所述,这是不可能的。尽管如此,在 databricks 文档https://docs.azuredatabricks.net/spark/latest/structured-streaming/kafka.html#using-ssl 中,它说这是可能的。这是否仅指 azure 集群?

另外,通过查看 apache/spark repo https://github.com/apache/spark/blob/master/docs/structured-streaming-kafka-integration.md的 master 分支的文档,我们可以理解这样的功能旨在在以后的 Spark 版本中添加。你知道这样一个稳定版本的任何计划,这将允许设置消费者 group.id 吗?

如果没有,Spark 2.4.0 是否有任何解决方法可以设置特定的消费者 group.id?

apache-kafka apache-spark spark-structured-streaming spark-kafka-integration

9
推荐指数
2
解决办法
5504
查看次数

带有安全 Kafka 抛出的 Spark 结构化流:无权访问组异常

为了在我的项目中使用结构化流,我正在 hortonworks 2.6.3 环境上测试 Spark 2.2.0 和 Kafka 0.10.1 与 Kerberos 的集成,我正在运行下面的示例代码来检查集成。我能够在 Spark 本地模式下的 IntelliJ 上运行以下程序,没有任何问题,但是当在 Hadoop 集群上移动到纱线集群/客户端模式时,相同的程序会抛出以下异常。

我知道我可以为 group-id 配置 kafka acl,但是 Spark 结构化流为每个查询生成新的 group-id,因此我无法在 kafka acl 中配置 group-id 以摆脱授权异常。我现在有点卡住了。

14:19:59 org.apache.spark.sql.streaming.StreamingQueryException: Not authorized to access group: spark-kafka-source-632450e3-a111-4d09-8704-85320c572aeb--1213729126-driver-2

例外:

18/01/31 14:46:34 INFO AbstractLogin: Successfully logged in.
18/01/31 14:46:34 INFO KerberosLogin: TGT refresh thread started.
18/01/31 14:46:34 INFO KerberosLogin: TGT valid starting at: Wed Jan 31 13:51:11 UTC 2018
18/01/31 14:46:34 INFO KerberosLogin: TGT expires: Wed Jan 31 23:51:14 UTC …
Run Code Online (Sandbox Code Playgroud)

hadoop kerberos apache-kafka apache-spark kafka-consumer-api

5
推荐指数
1
解决办法
2273
查看次数