Flink CDC如果服务端开了ssl,该怎么写with参数?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在使用Flink CDC连接MySQL或PostgreSQL等数据库时,如果服务端启用了SSL(Secure Sockets Layer)传输加密,需要在WITH
参数中进行相应的配置以确保连接正常。以下是针对不同数据库的具体配置方法:
当MySQL服务端启用了SSL时,可以通过以下方式配置WITH
参数:
如果不需要通过SSL协议连接MySQL,可以在WITH
参数中显式禁用SSL:
'jdbc.properties.useSSL' = 'false'
注意:此配置适用于MySQL 8.0.27及以上版本,并且需要使用VVR 6.0.2及以上版本。
如果需要通过SSL协议连接MySQL,可以启用SSL并根据需求选择不同的模式: - require模式:仅启用SSL加密,不验证服务端证书。 - verify-ca模式:启用SSL加密,并使用CA证书验证服务端的真实性。 - verify-full模式:启用SSL加密,验证服务端证书,并比对证书中的CN或DNS与连接地址是否一致。
具体配置如下:
'connection.ssl.mode' = 'require' -- 或 'verify-ca'、'verify-full'
如果使用verify-ca
或verify-full
模式,还需要指定CA证书的路径:
'connection.ssl.root-cert.location' = '/path/to/certificate.crt'
重要提示: - connection.ssl.mode
参数从VVR 8.0.5版本开始支持。 - CA证书文件需上传至实时计算平台的/flink/usrlib
目录下。
对于PostgreSQL CDC连接器,如果服务端启用了SSL,可以通过以下方式配置WITH
参数:
PostgreSQL CDC连接器默认支持SSL连接,无需额外配置。如果需要显式启用或禁用SSL,可以通过JDBC URL参数进行设置:
'url' = 'jdbc:postgresql://<hostname>:<port>/<database>?ssl=true'
或者禁用SSL:
'url' = 'jdbc:postgresql://<hostname>:<port>/<database>?ssl=false'
如果需要更高级的SSL配置(如验证服务端证书),可以通过以下参数进行设置:
'connection.ssl.mode' = 'require' -- 或 'verify-ca'、'verify-full'
'connection.ssl.root-cert.location' = '/path/to/certificate.crt'
注意: - connection.ssl.mode
参数支持的取值与MySQL类似,包括disable
、require
、verify-ca
和verify-full
。 - 需要确保CA证书文件已上传至实时计算平台的/flink/usrlib
目录下。
connection.ssl.mode
)需要特定版本的实时计算引擎支持,请确保使用的VVR版本满足要求。verify-ca
或verify-full
模式。通过以上配置,您可以根据服务端的SSL设置灵活调整Flink CDC的连接参数,确保数据同步任务能够正常运行。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。