配置 Talend Data Preparation、Streams Runner 和 Spark Job Server 之间的 HTTPS 连接 - 7.1

Talend Data Fabric 安装指南 (Windows)

EnrichVersion
7.1
EnrichProdName
Talend Data Fabric
task
数据治理
EnrichPlatform
Talend Activity Monitoring Console
Talend Administration Center
Talend Artifact Repository
Talend CommandLine
Talend Data Preparation
Talend Data Stewardship
Talend DQ Portal
Talend ESB
Talend Identity and Access Management
Talend Installer
Talend JobServer
Talend Log Server
Talend MDM Server
Talend MDM Web UI
Talend Repository Manager
Talend Runtime
Talend SAP RFC Server
Talend Studio

保护 Talend Data PreparationStreams RunnerSpark Job Server 之间的连接需要编辑它们的对应配置文件。

Streams Runner 配置文件中的任何安全配置都应在该文件的末尾进行,即在 Append 部分之中,在 Include 部分之后,以避免被改写。

第一步是将 Spark Job Server 配置为 HTTPS 中的服务。然后,您将需要在运行于 HTTPS 中的 Streams RunnerSpark Job Server 之间启用 SSL 通信。之后,将 Streams Runner 配置为 HTTPS 中的服务;最后,在运行于 HTTPS 中的 Talend Data PreparationStreams Runner 之间启用 SSL 通信。

开始之前

  • Talend Data Preparation 已配置为 HTTPS 中的服务。有关更多信息,请参阅为 Talend Data Preparation 配置 HTTPS 连接
  • 您已为 Talend Data Preparation 生成证书并将其添加到 Web 浏览器信任库。
  • Spark Job ServerStreams Runner 已安装并正在运行。

过程

  1. 要保护 HTTPS 中的 Spark Job Server 服务,请打开 <Spark_Job_Server_installation_path>/settings.sh 配置文件。
  2. security_ssl_enabled 参数的值设置为 on
  3. 编辑 security_path_to_keystoresecurity_keystore_password 参数的值,以设置包含 Spark Job Server 证书的 keystore 文件的路径和密码。
    security_ssl_enabled=on
    # DO NOT CHANGE
    # SECURITY PATH TO KEYSTORE
    # Required : No
    # Env variable : SECURITY_PATH_TO_KEYSTORE
    security_path_to_keystore=<path_to_keystore>
    # DO NOT CHANGE
    # SECURITY KEYSTORE PASSWORD
    # Required : No
    # Env variable : SECURITY_KEYSTORE_PASSWORD
    security_keystore_password=<password>

    重新启动服务以后,Spark Job Server 将在 HTTPS 中运行。

  4. 要在运行于 HTTPS 中的 Streams RunnerSpark Job Server 之间启用 SSL 通信,您可以:
    • 通过以下命令使用 JOBSERVER_TRANSPORT_PROTOCOL 环境变量:export JOBSERVER_TRANSPORT_PROTOCOL=https
    • 编辑 <Streams_Runner_installation_path>/conf/application.conf 配置文件并将 app.svc.jobserver.protocol 参数的值设置为 https

    使用环境变量将改写 application.conf 配置。

  5. 要将 Spark Job Server 证书或其证书颁发机构添加到 Streams Runner 信任库,请根据用于您的信任库的文件格式将以下行添加到 <Streams_Runner_installation_path>/conf/application.conf 文件。
    • 对于 .pem 文件:
        play.ws.ssl {
          trustManager = {
            stores = [
              { type = "PEM", path = "/path/to/pem_file" }
            ]
          }
        }
    • 对于 .jks 文件:
        play.ws.ssl {
          trustManager = {
            stores = [
              { type="JKS", path="/path/to/truststore", password="<password>"}
            ]
          }
        }

    有关更多信息,请参阅《实战文档》。

  6. 要保护 HTTPS 中的 Streams Runner 服务,请通过编辑 <Streams_Runner_installation_path>/conf/application.conf 文件的以下行来定义其证书的路径和密码:
    play.server.https.keyStore.path = <path_to_keystore>
    play.server.https.keyStore.password = <password>
  7. 编辑以下两行以设置 HTTPS 端口并禁用 HTTP 端口:
    https.port=9443
    http.port=disabled

    9443 是用于 HTTPS 连接的默认端口值。

    警告: 任何 play.server.http.port=<port> 配置都将与 http.port=disabled 配置冲突,并且该端口不会被禁用。

    重新启动服务以后,Streams Runner 将在 HTTPS 中运行。

  8. 要在运行于 HTTPS 中的 Talend Data PreparationStreams Runner 之间启用 SSL 通信,请获取 Streams Runner 证书或其证书颁发机构,并使用以下命令将其添加到 Talend Data Preparation 信任库:
    keytool -import -trustcacerts -alias <cert-alias> -file <streams_runner_certificate.crt> -keystore <truststore.jks>
  9. <Data_Preparation_Path>/config/application.properties 文件中,添加以下属性以设置信任库:
    tls.trust-store=/path/to/<truststore.jks>
    tls.trust-store-password=<trust-store_password>
    
    false to disable hostname verification
    tls.verify-hostname=false
  10. 重新启动 Talend Data Preparation

结果

运行于 HTTPS 中的 Talend Data Preparation 实例现在可以与同样使用安全 HTTPS 连接运行的 Streams RunnerSpark Job Server 通信了。