Перейти к содержимому
Последнее обновление

Параметры подключения и TLS

На этой странице перечислены общие параметры, которые Flink Doris Connector использует для подключения к Doris, и описано, как включить TLS. Эти параметры применяются к Source, Sink и Lookup Join.

Общие параметры​

КлючЗначение по умолчаниюОбязательныйОписание
fenodes--Даhttp-адрес FE Doris; поддерживается несколько адресов, разделённых запятыми
benodes--Нетhttp-адрес BE Doris; поддерживается несколько адресов, разделённых запятыми
jdbc-url--НетПараметры подключения по JDBC, например: jdbc:mysql://127.0.0.1:9030
table.identifier--ДаИмя таблицы Doris, например: db.tbl
username--ДаИмя пользователя для доступа к Doris
password--ДаПароль для доступа к Doris
auto-redirectTRUEНетПеренаправлять ли запросы Stream Load. При включении запись данных через Stream Load выполняется через FE без явного получения информации о BE
doris.request.retries3НетЧисло повторных попыток отправки запросов в Doris
doris.request.connect.timeout30sНетВремя ожидания установления соединения при отправке запросов в Doris
doris.request.read.timeout30sНетВремя ожидания чтения при отправке запросов в Doris
doris.enable.tlsFALSEНетВключать ли TLS для соединений с Doris по HTTP, MySQL/JDBC, BE Thrift и Arrow Flight SQL.
doris.tls.ca-certificate-path--НетЛокальный путь к цепочке сертификатов CA в формате PEM. Если путь не указан, коннектор не загружает пользовательский CA и использует стандартное хранилище доверенных сертификатов соответствующего клиента.
doris.tls.skip-hostname-verificationFALSEНетПропускать ли проверку имени хоста сервера, сохраняя проверку CA.
doris.tls.excluded-protocols--НетПротоколы, перечисленные через запятую, для которых соединения остаются незашифрованными при включённом TLS. Поддерживаемые значения: http, mysql, thrift и arrowflight.

Включение TLS​

Коннектор позволяет включить TLS для соединений с Doris по HTTP и Stream Load, MySQL/JDBC, BE Thrift и Arrow Flight SQL. По умолчанию TLS отключён, а коннектор проверяет сертификат сервера Doris.

Добавьте следующие параметры в конфигурацию Doris Source, Sink или Catalog:

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

При указании файла CA в doris.tls.ca-certificate-path используйте цепочку сертификатов в формате PEM и убедитесь, что каждый процесс Flink, подключающийся к Doris, может прочитать этот файл из локальной файловой системы. Если этот путь не задан, коннектор не загружает пользовательский CA и использует стандартное хранилище доверенных сертификатов соответствующего клиента. В рабочей среде оставляйте проверку имени хоста включённой.

Если какой-либо протокол Doris намеренно используется без шифрования, исключите только этот протокол. Поддерживаемые значения: http, mysql, thrift и arrowflight:

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

Коннектор не проверяет протоколы пробными подключениями и не переходит на незашифрованное соединение после ошибки TLS.

Когда doris.enable.tls включён, коннектор передаёт настройки TLS через свойства подключения JDBC, не изменяя jdbc-url. Поэтому в jdbc-url указывайте только адрес подключения; не добавляйте параметры TLS, такие как sslMode, useSSL, или настройки хранилища доверенных сертификатов.

Arrow Flight SQL поддерживает TLS, но не позволяет отключить только проверку имени хоста. Если doris.tls.skip-hostname-verification установлен в true, исключите arrowflight с помощью doris.tls.excluded-protocols.

Разместите файл CA в соответствии с режимом развёртывания Flink:

  • Standalone: разместите файл по одному и тому же пути на всех хостах JobManager, TaskManager и SQL Gateway, которые подключаются к Doris.
  • YARN: доставьте файл в контейнеры с помощью yarn.ship-files: /local/path/ca.pem и задайте в doris.tls.ca-certificate-path имя файла внутри контейнера, например ca.pem.
  • Kubernetes: смонтируйте ConfigMap или Secret по одному и тому же пути в соответствующих подах JobManager и TaskManager.