【问题标题】:spark-cassandra connection failed over TLS in Kubernetesspark-cassandra 连接在 Kubernetes 中通过 TLS 失败
【发布时间】:2021-02-10 16:06:02
【问题描述】:

在尝试将 spark 与 cassandra 连接时,我遇到了“没有共同密码套装”异常。

Java 版本:openjdk 8(构建版本 > 161;无限 jce)

TLS : 1.2

密码套装:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256


4.1.42.Final.jar:4.1.42.Final] 
        at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:444) ~[netty-all-4.1.42.Final.jar:4.1.42.Final]
        ... 15 common frames omitted

Caused by: javax.net.ssl.SSLHandshakeException: no cipher suites in common
        at sun.security.ssl.Alerts.getSSLException(Alerts.java:198) ~[na:1.8.0_252]
        at sun.security.ssl.SSLEngineImpl.fatal(SSLEngineImpl.java:1667) ~[na:1.8.0_252]
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:333) ~[na:1.8.0_252]
        at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:321) ~[na:1.8.0_252]

【问题讨论】:

    标签: kubernetes cassandra tls1.2 spark-cassandra-connector


    【解决方案1】:

    您发布的信息非常有限,因此很难诊断问题。该异常表明 Cassandra 集群和连接器之间没有通用密码套件。

    检查 Cassandra 节点上配置的密码套件,并将它们与您在 spark-cassandra-connector 上配置的算法进行比较。它们需要至少有一个共同的密码。

    您需要确保已使用正确的设置配置了连接器,尤其是:

    spark.cassandra.connection.ssl.protocol
    spark.cassandra.connection.ssl.enabledAlgorithms
    

    详情请参阅spark-cassandra-connector SSL Options。干杯!

    【讨论】:

    • 谢谢埃里克。忘了提到在火花端使用的 ssl 算法。我在 Spark 中使用“-TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256”密码时遇到了上述异常,但是当我将其更改为“TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256”时,它得到了解决。现在我收到“致命错误:启动 SSL 失败:证书未知”错误。这是我在 cassandra.yml 中的客户端加密 `client_encryption_options: cipher_suites: - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 已启用:真正的密钥库:/etc/cassandra/conf/encryption/cql/keystore.jks `
    • 'certificate_unknown' 错误现已解决,因为我忘记在 Spark 容器内的自定义 truststore 中添加通用 CA。
    猜你喜欢
    • 2018-08-15
    • 2021-02-23
    • 2023-03-14
    • 2016-11-11
    • 2016-02-04
    • 2017-06-06
    • 2015-01-04
    • 2021-09-06
    相关资源
    最近更新 更多