场景说明

复杂网络环境主要包含以下两种情况:

  • 数据的来源端和目的端有一端为私网环境。
    • VPC环境(除RDS)<->公网环境
    • 金融云环境<->公网环境
    • 本地自建无公网环境<->公网环境
  • 数据的来源端和目的端均为私网环境。
    • VPC环境(除RDS)<->VPC环境(除RDS)
    • 金融云环境<->金融云环境
    • 本地自建无公网环境<->本地自建无公网环境
    • 本地自建无公网环境<->VPC环境(除RDS)
    • 本地自建无公网环境<->金融云环境

数据集成提供复杂网络环境下的穿墙过壁能力,主要是通过数据集成Agent的部署,打通任意网络环境之间的数据传输同步。具体实现逻辑和操作步骤见下文所述,本文主要为您介绍两端数据源均无法连通的情况下的操作方案,仅一端数据源无法连通的情况请参见(仅一端不通)数据源网络不通的情况下的数据同步

实现逻辑

针对第二种复杂网络环境,采用在两端数据源的相同网络环境下均部署数据集成Agent,来源端Agent负责推送数据至数据集成服务端,目的端Agent负责拉取数据至本地,且数据在传输过程中会进行数据的分块、压缩、加密,保障数据传输的及时性和安全性。

此场景的数据同步方式,如下图所示:

操作步骤

配置数据源

  1. 以开发者身份进入DataWorks管理控制台,单击对应项目操作栏中的进入数据集成
  2. 进入数据源页面,单击新增数据源,弹出支持的数据源类型。

  3. 选择半结构化存储的FTP数据源里的无公网IP的数据源类型添加数据源。
    添加源端的数据源

    配置 说明
    数据源类型 无公网IP。
    数据源名称 数据源名称必须以字母、数字、下划线组合,且不能以数字和下划线开头。
    数据源描述 对数据源进行简单描述,不得超过80个字符。
    资源组 是选择部署Agent的机器,来源端Agent负责推送数据至数据集成服务端。添加资源组的详情请参见新增任务资源
    Protocol ftp或sftp。
    Host ftp默认的端口号为21,sftp的默认端口号为22。
    用户名和密码 数据库对应的用户名和密码。
    测试连通性 公网IP的数据源不支持测试连通性,直接单击完成即可。
    添加目标端的数据源

    资源组:是选择部署Agent的机器,目的端Agent负责拉取数据至本地。

选择脚本模式

  1. 单击顶部菜单栏中的数据集成,进入同步任务页面。
  2. 选择新建数据集成节点 > 同步节点,输入同步任务名称。
  3. 成功创建同步节点后,单击新建同步节点右上角的转换脚本,选择确认即可进入脚本模式。
  4. 选择从ftp同步到ftp的导入模板。

    配置 说明
    来源类型 根据您的向导模式选择的数据源直接填写数据源名称。
    目标类型 可以根据下拉框选择您要写入的目标数据源。
    说明 数据库支持界面添加数据源,您可以在模板中选择,但是不支持的要在模板中的json代码编写相关的数据源信息,直接单击 新增数据源
  5. 配置同步任务,如下图所示:



  • 由于机器1没有访问公网的能力,所以需要准备一台和机器1在同一网段并且具备访问公网的能力机器2部署Agent。
  • 将机器2作为任务资源组并且同步任务运行在此机器上。

操作步骤

配置数据源

  1. 以开发者身份登录DataWorks,单击对应项目操作栏中的进入数据集成
  2. 进入数据源页面,单击新增数据源,弹出支持的数据源类型。

  3. 选择关系数据库MySQL的数据源里的无公网IP的数据源类型添加数据源。
    • 源端数据源(无公网IP):

      配置 说明
      数据源类型 无公网IP。
      数据源名称 数据源名称必须以字母、数字、下划线组合,且不能以数字和下划线开头。
      数据源描述 对数据源进行简单描述,不得超过80个字符。
      资源组 选择部署Agent的机器,通过Agent与外部公网联通,特殊网络环境的数据源可以将同步任务运行在资源组上。添加资源组的详情请参见新增任务资源
      JDBC URL JDBC连接信息,格式是jdbc:mysql://ServerIP:Port/Database。
      用户名和密码 数据库对应的用户名和密码。
      测试连通性 公网IP的数据源不支持测试连通性,直接单击完成即可。
    • 目标数据源(有公网环境):

      配置 说明
      数据源名称 数据源名称必须以字母、数字、下划线组合,且不能以数字和下划线开头。
      数据源描述 对数据源进行简单描述,不得超过80个字符。
      ODPS Endpoint 默认只读,从系统配置中自动读取。
      ODPS项目名称 对应的MaxCompute Project标识。
      Access Id 与MaxCompute Project Owner云账号对应的AccessID。
      Access Key 与MaxCompute Project Owner云账号对应的AccessKey,与AccessID成对使用。访问密钥相当于登录密码。
      测试连通性 支持测试连通性。

配置同步任务

  1. 选择来源
    由于数据来源是无公网IP的数据源,所以此数据源网络无法联通,需要使用脚本模式配置同步任务,直接单击转换脚本按钮。

  2. 导入模板

    参数项说明如下:

    • 来源类型:会根据您的向导模式选择的数据源直接填写数据源名称。
    • 目标类型:可以根据下拉框选择你要写入的目标的数据源。
    说明 数据库支持界面添加数据源,可以在模板中选择,但是不支持的要在模板里的json代码编写相关的数据源信息,直接单击 新增数据源
  3. 转换成脚本模式样例。

配置任务资源组:可以修改和查看同步任务运行的资源组的情况,来源类型和目标类型默认会显示您添加数据源选择的资源组。

{
"configuration": {
 "setting": {
   "speed": {
     "concurrent": "1",//作业并发数
     "mbps": "1"//作业速率上限
   },
   "errorLimit": {
     "record": "0"//错误记录数超过值
   }
 },
 "reader": {
   "parameter": {
     "fieldDelimiter": ",",//切分键
     "encoding": "UTF-8",//编码格式
     "column": [//数据来源的列
       {
         "index": 0,
         "type": "string"
       },
       {
         "index": 1,
         "type": "string"
       }
     ],
     "path": [//文件路径
       "/home/wb-zww354475/ww.txt"
     ],
     "datasource": "lzz_test3"//数据源名称,要跟添加的数据源名保持一致
   },
   "plugin": "ftp"
 },
 "writer": {
   "parameter": {
     "writeMode": "truncate",//写入模式
     "fieldDelimiter": ",",//分隔符
     "fileName": "ww",//文件的名称
     "path": "/home/wb-zww354475/ww_test",//文件路径
     "dateFormat": "yyyy-MM-dd HH:mm:ss",
     "datasource": "lzz_test4",//数据源名称,要跟添加的数据源名保持一致
     "fileFormat": "csv"//文件的类型
   },
   "plugin": "ftp"
 }
},
"type": "job",
"version": "1.0"
}

运行同步任务

您可通过以下两种方式运行任务:

  • 数据集成的界面直接单击运行。
  • 调度运行。提交调度的步骤请参见调度配置