【问题标题】:Kafka Configure PKCS12 `ssl.keystore.location=user.p12` without access to local file systemKafka 配置 PKCS12 `ssl.keystore.location=user.p12` 无需访问本地文件系统
【发布时间】:2022-01-19 20:30:05
【问题描述】:

我可以通过以下客户端属性成功连接到受 SSL 保护的 Kafka 集群:

security.protocol=SSL
ssl.truststore.type=PKCS12
ssl.truststore.location=ca.p12
ssl.truststore.password=<redacted>
ssl.keystore.type=PKCS12
ssl.keystore.location=user.p12
ssl.keystore.password=<redacted>

但是,我正在编写一个在托管云环境中运行的 Java 应用程序,我无法访问文件系统。所以我不能只给它一个 .p12 文件的本地文件路径。

是否还有其他替代方法,例如使用从 S3、内存或 JVM 类路径资源加载?

具体来说,这是一个运行在 Amazon 的 Kinesis Analytics Managed Flink 集群服务上的 Flink 应用程序。

【问题讨论】:

    标签: java apache-kafka apache-flink kafka-consumer-api


    【解决方案1】:

    当然,在将属性对象提供给 KafkaConsumer 之前,您可以从任何地方下载任何您想要的东西。但是,运行 Java 进程的用户需要访问本地文件系统才能下载文件。

    我认为将文件打包为应用程序 JAR 的一部分更有意义,但是,我不知道有一种简单的方法可以像引用常规文件系统路径一样引用类路径资源。如果代码在 YARN 集群中运行,您也可以尝试在提交时使用yarn.provided.lib.dirs 选项

    【讨论】:

      猜你喜欢
      • 2016-11-22
      • 2016-01-01
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      • 2012-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多