【问题标题】:kafka-avro-console-consumer: Specify truststore location for schema-registrykafka-avro-console-consumer:为 schema-registry 指定信任库位置
【发布时间】:2022-02-28 23:11:44
【问题描述】:

我正在使用 confluent kafka-avro-console-consumer,如下所示

/kafka-avro-console-consumer --bootstrap-server <brokers> --topic Topic-out --property schema.registry.url=https://schemaregistry:443/ --consumer.config client-sasl-ssl.properties  --from-beginning 

连接模式注册表失败,出现以下错误,

org.apache.kafka.common.errors.SerializationException: Error deserializing Avro message for id 45
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
    at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1946)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:316)
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:310)

这意味着我需要在 java 路径中指定信任库位置,例如(我已经为自定义 java 代码完成了它并且它有效)

Djavax.net.ssl.trustStore=truststore.jks -Djavax.net.ssl.trustStoreType=jks --Djavax.net.ssl.trustStorePassword=pass

问题是我在运行 kafka-avro-console-consumer 命令时在哪里指定上述参数。

【问题讨论】:

  • 通过使用以下导出修复它export SCHEMA_REGISTRY_OPTS="-Djavax.net.ssl.trustStore=/tools/confluent-5.3.0/bin/kafka.client.truststore.jks -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.trustStorePassword=pass"

标签: apache-kafka confluent-platform truststore confluent-schema-registry java-security


【解决方案1】:

试试这个

export SCHEMA_REGISTRY_OPTS="-Djavax.net.ssl.trustStore=/tools/confluent-5.3.0/bin/kafka.client.truststore.jks -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl .trustStorePassword=pass

【讨论】:

    【解决方案2】:

    将以下内容添加到 client-sasl-ssl.properties 应该可以解决问题:

    schema.registry.ssl.truststore.location=TRUSTSTORE_LOCATION
    schema.registry.ssl.truststore.password=TRUSTSTORE_PASSWORD
    

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2023-03-09
    • 1970-01-01
    • 2018-09-30
    • 1970-01-01
    • 2019-10-24
    • 2021-12-28
    • 2020-06-26
    • 2018-09-27
    • 1970-01-01
    相关资源
    最近更新 更多