通过SSL运行具有合流架构注册表的Flink作业

通过SSL运行具有合流架构注册表的Flink作业,ssl,apache-flink,flink-streaming,Ssl,Apache Flink,Flink Streaming,我正在K8s上运行Flink会话集群,并使用flinkrestapi部署Flink作业。 为生产者和消费者提供使用Avro的工作。作业通过TLS和SCRAM-SHA从安全的Kafka集群消耗。一切正常 现在,我需要为我使用的Flink:Flink avro confluent Registry 1.11.1版库引入模式注册表。 今天我发现这个库使用的是旧版本的 kafka schema注册表客户端,当我检查库的包依赖项上的META-INF时 #Created by Apache Maven 3.

我正在K8s上运行Flink会话集群,并使用flinkrestapi部署Flink作业。 为生产者和消费者提供使用Avro的工作。作业通过TLS和SCRAM-SHA从安全的Kafka集群消耗。一切正常

现在,我需要为我使用的Flink:Flink avro confluent Registry 1.11.1版库引入模式注册表。 今天我发现这个库使用的是旧版本的 kafka schema注册表客户端,当我检查库的包依赖项上的META-INF时

#Created by Apache Maven 3.3.9
version=4.1.0
groupId=io.confluent
artifactId=kafka-schema-registry-client
这是一个问题,因为在我的集群中部署的模式注册表使用的是5.5,并且已经有了相当大的改进,特别是自5.4版以来对SSL的支持 请参见以下PR: 它被合并到版本5.4中。您也可以在这里看到:

到目前为止,所有记录在案的解决方案都不起作用。而且也不可能用这个Flink库实现我自己的序列化程序,因为所有重要的类都有私有或受保护的构造函数

所以我的问题是:这个库
flink avro confluent registry
是否会更新以使用最新的Kafka Schema registry客户端来支持SSL,并且是否可以按照文档中的描述将带有Schema registry属性的配置映射传递到序列化程序中

到目前为止,我尝试了所有记录在案的选项,但没有成功:

我添加了文档中描述的所有属性:

val props: Map[String, String] = Map[String, String](
      "schema.registry.ssl.keystore.location" ->"/config/keystore/keystore.jks",
      "schema.registry.ssl.keystore.location" -> "/config/keystore/keystore.jks",
      "schema.registry.ssl.keystore.password" -> kafkaSettings.keystorePass.get,
      "schema.registry.ssl.truststore.location" -> "/config/keystore/keystore.jks",
      "schema.registry.ssl.truststore.password" -> kafkaSettings.keystorePass.get,
      "schema.registry.ssl.key.password" -> kafkaSettings.keystorePass.get
    )
我还尝试了传统方法,将密钥库和信任库作为环境变量直接放在jvm上

到目前为止,一切都不起作用

因此,如果有人找到了一种方法来使用Flink 1.11针对SSL安全合流模式注册表实现SSL,请联系我们

如果Flink投稿人对此有任何信息或建议,请联系

非常感谢您抽出时间