开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

Flink CDC里 cdc端应该如何加参数可以忽略这个错误?

Flink CDC里The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]". sqlserver版本太低 不支持 tls1.2 1.3 cdc端应该如何加参数可以忽略这个错误?

展开
收起
小小鹿鹿鹿 2024-01-18 07:45:01 62 0
4 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在Flink CDC中,如果SQL Server版本太低不支持TLS 1.2或1.3,可以尝试通过添加JVM参数来忽略这个错误。具体操作如下:

    1. 打开Flink CDC的配置文件(例如:flink-conf.yaml)。

    2. 在配置文件中添加以下JVM参数:

    taskmanager.network.netty.tcp.allowed-protocols: TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
    

    这将允许Flink CDC使用TLS 1.0、1.1、1.2和1.3协议进行连接。请注意,这可能会导致安全风险,因为较旧的TLS协议可能不够安全。因此,建议尽量升级SQL Server的版本以支持更高版本的TLS协议。

    2024-01-19 14:47:57
    赞同 展开评论 打赏
  • 要解决这个问题,您可以尝试在Flink CDC的配置文件中添加以下参数来忽略TLS 1.2和TLS 1.3协议版本:

    sqlserver:
      connector:
        type: sqlserver-cdc
        username: your_username
        password: your_password
        server-name: your_server_name
        database-name: your_database_name
        port: your_port
        ssl:
          enabled: true
          cacert: /path/to/your/cacert.pem
          client-key: /path/to/your/client-key.pem
          client-cert: /path/to/your/client-cert.pem
          protocol-versions: TLSv1,TLSv1.1
    

    在这个例子中,我们将protocol-versions设置为TLSv1TLSv1.1,这将允许客户端接受TLS 1.0和TLS 1.1协议版本。请注意,这可能会导致安全问题,因为较旧的协议版本可能不安全。因此,建议您尽可能使用最新的TLS协议版本。

    2024-01-19 09:02:06
    赞同 展开评论 打赏
  • 参考
    https://github.com/ververica/flink-cdc-connectors/issues/2991
    。此回答来自钉群Flink CDC 社区。

    2024-01-18 11:03:50
    赞同 展开评论 打赏
  • 网站:http://ixiancheng.cn/ 微信订阅号:小马哥学JAVA

    通过报错的日志分析的原因:
    Flink CDC(Change Data Capture)无法与 SQL Server 建立安全的 SSL 连接,因为 SQL Server 使用的是较低版本的 TLS(传输层安全协议),而 Flink CDC 客户端的偏好是使用 TLS1.2 或 TLS1.3。

    解决方案:
    您可以在 Flink CDC 客户端的配置中添加参数来忽略这个错误。但是,请注意,这将降低连接的安全性,因为您将绕过 SSL/TLS 的检查。以下是一个示例参数,可以在 Flink CDC 的连接配置中添加:

    java
    .option("ssl-handshake-mode", "legacy")
    这将会使 Flink CDC 客户端使用旧版的 SSL 握手模式,以兼容较低版本的 TLS。

    请注意,使用旧版握手模式可能会带来安全风险,因为它可能使您的应用程序容易受到某些已知的 SSL/TLS 攻击的影响。因此,如果可能的话,最好的解决方案是升级 SQL Server 到支持 TLS1.2 或 TLS1.3 的版本。

    希望能够帮助到你

    2024-01-18 10:42:05
    赞同 1 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载