You need to enable JavaScript to run this app.
导航
DolphinScheduler
最近更新时间:2025.01.14 19:23:40首次发布时间:2023.10.31 17:47:38

DolphinScheduler 是一个分布式、可扩展的工作流调度程序平台,以其强大的容错性和易用性而闻名。本文为您介绍如何使用DolphinScheduler连接ByteHouse进行数据查询分析。

背景信息

使用DolphinScheduler连接ByteHouse时,当前支持以下三种方式连接:

  • 通过ByteHouse数据源(推荐):使用ByteHouse提供的连接插件进行连接,更推荐此种方式,使用此种方式时,您需要参考下文下载ByteHouse的连接插件。
  • 通过MySQL数据源:使用标准的连接协议/连接器进行连接。
    由于DolphinScheduler没有自带MySQL的驱动程序,使用此种方式时,您需要参考下文手动下载驱动并移动到DolphinScheduler的指定目录。
  • 通过ClickHouse数据源:使用标准的连接协议/连接器进行连接。

注意事项

细分项

已验证版本/注意事项

DolphinScheduler-含ByteHouse驱动

说明

使用ByteHouse数据源方式连接ByteHouse时需要。

v3.1.9

apache-dolphinscheduler-3.1.9-bin.tar.gz
未知大小

DolphinScheduler-常规版本,不含ByteHouse驱动

说明

使用MySQL、ClickHouse数据源方式连接ByteHouse时需要。

v3.1.2 或以上版本,DolphinScheduler-常规版本下载链接

MySQL驱动

说明

使用MySQL数据源方式连接ByteHouse时需要。

8.0.16,MySQL驱动下载链接

已获取ByteHouse帐户 API Token

API Token的获取方式请参阅文档 获取 API Token

ByteHouse侧配置

step1 配置公网域名

登录并进入ByteHouse控制台后,在顶部租户管理基本信息页面,查看网络组配置,确认已绑定VPC,并绑定了公网域名。
Image

  • 如果未绑定VPC和公网域名,需参考设置网络信息文档完成绑定配置。
  • 完成绑定后,可单击复制公网域名,用于后续对接参数配置。

step2 获取API Key

进入顶部租户管理连接信息页面,在API Key模块新建一个API key,并将API Key保存至本地,用于后续的配置使用。
Image

说明

一个子账号最多支持创建两个API Key,如果此前您有已创建好的API key,也可直接使用已创建好的API Key。

step3 设置默认计算组

进入顶部租户管理参数设置页面,查看已设置了默认计算组,并确保此计算组是正在运行的状态,未被停止。后续对接ByteHouse后的数据查询等操作,即会使用此处配置的默认计算组。
Image

DolphinScheduler侧配置

step1 准备工作

  1. 在使用之前,请提前准备好Dolphin scheduler v3.1.2 或以上版本环境。以下为简单的安装步骤示例。

    说明

    出于演示目的,以下将使用独立部署环境作为操作示例。

    • Docker安装:

      docker run --name dolphinscheduler-standalone-server -p 12345:12345 -p 25333:25333 -d apache/dolphinscheduler-standalone-server:3.1.2
      
    • 二进制安装:

      1. 获取安装包,您可根据实际需要选择下载常规版本或含ByteHouse驱动版本的DolphinScheduler安装包,下载方式可参考上文的注意事项章节。
      2. 解压后启动独立部署的服务器。
        tar -xvzf apache-dolphinscheduler-*-bin.tar.gz
        cd apache-dolphinscheduler-*-bin
        bash ./bin/dolphinscheduler-daemon.sh start standalone-server
        
  2. 登录 DolphinScheduler 主页,如 http://localhost:12345/dolphinscheduler/ui/login ,并填写账号与用户名。安装后的默认用户名/密码是:admin/dolphinscheduler123。
    Image

  3. 单击顶部Security页签进入Security页面后,单击Create Tenant,创建一个新的租户。
    Image

step2 创建数据源

单击顶部DataSource页签,进入数据源页面,单击Create DataSource,创建数据源。
Image
您可根据业务需要选择创建以下三种数据源中的一种,后续均可使用对应数据源连接ByteHouse。

方式1:ByteHouse数据源

Image

参数

配置说明

Datasource

选择BYTEHOUSE。

Datasource Name

自定义数据源名称。

IP

配置为ByteHouse的公网域名,格式为:gateway-v2.tenant-{TENANT_ID}-{REGION}-public.bytehouse.volces.com,您可以在ByteHouse控制台的租户管理>基本信息>网络信息中获取。

Port

数据库端口号,配置为固定取值:19000。

User Name & Password

登录ByteHouse数据库的用户名和密码。

  • 用户名默认为 bytehouse
  • 密码为<API_Key>,可以在ByteHouse控制台的租户管理>连接信息中获取的API Key。

Database Name

配置为ByteHouse已创建的数据库名称。

jdbc connect parameters

使用ByteHouse数据源时,无需再配置额外的连接参数。

方式2:MySQL数据源

  1. 下载MySQL驱动,并移动到DolphinScheduler指定目录。

    1. 单击MySQL驱动下载链接 下载驱动,已验证8.0.16版本,建议您使用此版本。
    2. 将下载的驱动jar包移动到指定目录。本示例的独立部署场景下,需移动到:standalone-server/libs/standalone-server/
      // For Docker Installation
      docker cp ~/Downloads/mysql-connector-j-8.0.31.jar {DOCKER_CONTAINER_ID}:/opt/dolphinscheduler/libs/standalone-server/
      
      // For Binary Installation
      cp ~/Downloads/mysql-connector-java-8.0.16/mysql-connector-java-8.0.16.jar standalone-server/libs/standalone-server
      
  2. 重启DolphinScheduler。

    // For Docker Installation
    // Stop Container
    docker stop {DOCKER_CONTAINER_ID}
    // Start Container
    docker start {DOCKER_CONTAINER_ID}
    
    // For Binary Installation
    // Stop Server
    bash ./bin/dolphinscheduler-daemon.sh stop standalone-server
    // Start Server
    bash ./bin/dolphinscheduler-daemon.sh start standalone-server
    
  3. 新建MySQL数据源。
    Image

    参数

    配置说明

    Datasource

    选择MySQL。

    Datasource Name

    自定义数据源名称。

    IP

    配置为ByteHouse的公网域名,格式为:gateway-v2.tenant-{TENANT_ID}-{REGION}-public.bytehouse.volces.com,您可以在ByteHouse控制台的租户管理>基本信息>网络信息中获取。

    Port

    数据库端口号,配置为固定取值:3306。

    User Name & Password

    登录ByteHouse数据库的用户名和密码。

    • 用户名默认为 bytehouse
    • 密码为<API_Key>,可以在ByteHouse控制台的租户管理>连接信息中获取的API Key。

    Database Name

    配置为ByteHouse已创建的数据库名称。

    jdbc connect parameters

    在连接参数中配置ssl开关参数,打开SSL开关。

    "enabledTLSProtocols": "TLSv1.2"
    

    说明

    ByteHouse 需要加密认证,从而保护数据安全,因此您需打开SSL,否则后续连接时会报错:

    Caused by:
    javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
    

方式3:ClickHouse数据源

Image

参数

配置说明

Datasource

选择ClickHouse。

Datasource Name

自定义数据源名称。

IP

配置为ByteHouse的公网域名,格式为:gateway-v2.tenant-{TENANT_ID}-{REGION}-public.bytehouse.volces.com,您可以在ByteHouse控制台的租户管理>基本信息>网络信息中获取。

Port

数据库端口号,配置为固定取值:8123。

User Name & Password

登录ByteHouse数据库的用户名和密码。

  • 用户名默认为 bytehouse
  • 密码为<API_Key>,可以在ByteHouse控制台的租户管理>连接信息中获取的API Key。

Database Name

配置为ByteHouse已创建的数据库名称。

jdbc connect parameters

在连接参数中配置ssl开关参数,打开SSL开关。

{
 "ssl": "true",
 "sslmode": "NONE"
}

说明

ByteHouse 需要加密认证,从而保护数据安全,因此您需打开SSL,否则后续连接时会报错:

java.net.SocketException: Unexpected end of file from server

step3 结果验证

完成数据源创建后,后续您即可使用数据源连接ByteHouse进行数据查询分析。以下以一个简单操作作为示例。

  1. 创建一个新的项目。
    Image
  2. 创建一个新的工作流。单击该项目,然后转到 Workflow > Workflow Definition > Create Workflow,来创建一个工作流。
    Image
  3. 创建一个SQL节点。
    选择一个SQL类型的工作流节点,并将节点拖拽到工作流画布中,自定义配置工作流节点的名称,例如:ByteHouseSQLSELECT
    Image
  4. 在节点的Datasource types中选择希望使用的数据源类型,在Datasource instances中选择已创建的数据源,在SQL Statement中写入查询语句,完成配置后单击Confirm
    Image
  5. 回到工作流页面后单击Save,配置工作流名称等参数后,保存工作流。
    Image
  6. 运行SQL工作流。
    Image
    如果有弹窗提示您需要设置运行参数,可保持默认参数,单击Confirm
    Image
  7. 查看工作流运行状态与运行日志。
    • 您可以在Task Instance页面中查看工作流运行状态。
      Image
    • 在Operation列也查看详细运行日志。
      Image
      Image