Skip to main content
Last updated on

Connection Options and TLS

This page lists the general options Flink Doris Connector uses to connect to Doris and explains how to enable TLS. These options apply to the Source, the Sink, and Lookup Join alike.

General Options

KeyDefault ValueRequiredComment
fenodes--YDoris FE http address, supports multiple addresses separated by commas
benodes--NDoris BE http address, supports multiple addresses separated by commas
jdbc-url--Njdbc connection information, for example: jdbc:mysql://127.0.0.1:9030
table.identifier--YDoris table name, for example: db.tbl
username--YUsername for accessing Doris
password--YPassword for accessing Doris
auto-redirectTRUENWhether to redirect Stream Load requests. When enabled, Stream Load writes through FE without explicitly fetching BE information
doris.request.retries3NNumber of retries for sending requests to Doris
doris.request.connect.timeout30sNConnection timeout for sending requests to Doris
doris.request.read.timeout30sNRead timeout for sending requests to Doris
doris.enable.tlsFALSENWhether to enable TLS for Doris HTTP, MySQL/JDBC, BE Thrift, and Arrow Flight SQL connections.
doris.tls.ca-certificate-path--NLocal path to a PEM CA certificate chain. When empty, the Connector does not load a custom CA and uses the corresponding client's default trust store.
doris.tls.skip-hostname-verificationFALSENWhether to skip server hostname verification while retaining CA validation.
doris.tls.excluded-protocols--NComma-separated protocols that remain plaintext while TLS is enabled. Supported values: http, mysql, thrift, and arrowflight.

Enabling TLS

The Connector can enable TLS for Doris HTTP and Stream Load, MySQL/JDBC, BE Thrift, and Arrow Flight SQL connections. TLS is disabled by default, and the Connector verifies the Doris server certificate.

Add the following options to a Doris Source, Sink, or Catalog configuration:

'doris.enable.tls' = 'true',
'doris.tls.ca-certificate-path' = '/etc/doris-tls/ca-chain.pem'

When specifying a CA file with doris.tls.ca-certificate-path, use a PEM certificate chain and ensure that every Flink process connecting to Doris can read it from the local filesystem. When this path is not configured, the Connector does not load a custom CA and uses the corresponding client's default trust store. Keep hostname verification enabled in production.

If a Doris protocol intentionally remains plaintext, exclude only that protocol. Supported values are http, mysql, thrift, and arrowflight:

'doris.tls.excluded-protocols' = 'arrowflight'

The Connector does not probe protocols or fall back to plaintext after a TLS failure.

When doris.enable.tls is enabled, the Connector passes TLS settings through JDBC connection properties without modifying jdbc-url. Therefore, specify only the connection address in jdbc-url; do not add TLS parameters such as sslMode, useSSL, or trust store settings.

Arrow Flight SQL supports TLS but does not support skipping hostname verification only. If doris.tls.skip-hostname-verification is set to true, exclude arrowflight through doris.tls.excluded-protocols.

Distribute the CA file according to the Flink deployment mode:

  • Standalone: place the file at the same path on all JobManager, TaskManager, and SQL Gateway hosts that connect to Doris.
  • YARN: localize the file with yarn.ship-files: /local/path/ca.pem, and set doris.tls.ca-certificate-path to the container-localized file name, such as ca.pem.
  • Kubernetes: mount a ConfigMap or Secret at the same path in the relevant JobManager and TaskManager pods.