数据源 | 数据源类型 | 网络类型 | 是否支持测试连通性 | 是否添加自定义资源组 |
MySQL | 云数据库 | 经典网络 | 支持 | - |
专有网络 | 支持 | - | ||
有公网IP | 支持 | - | ||
无公网IP | 不支持 | 添加自定义资源组 | ||
ECS自建 | 经典网络 | 支持 | - | |
专有网络 | 不支持 | 添加自定义资源组 | ||
SQL Server | 云数据库 | 经典网络 | 支持 | - |
专有网络 | 支持 | - | ||
有公网IP | 支持 | - | ||
无公网IP | 不支持 | 添加自定义资源组 | ||
ECS自建 | 经典网络 | 支持 | - | |
专有网络 | 不支持 | 添加自定义资源组 | ||
PostgreSQL | 云数据库 | 经典网络 | 支持 | - |
专有网络 | 支持 | - | ||
有公网IP | 支持 | - | ||
无公网IP | 不支持 | 添加自定义资源组 | ||
ECS自建 | 经典网络 | 支持 | - | |
专有网络 | 不支持 | 添加自定义资源组 | ||
Oracle | ||||
有公网IP | 支持 | - | ||
无公网IP | 不支持 | 添加自定义资源组 | ||
ECS自建 | 经典网络 | 支持 | - | |
专有网络 | 不支持 | 添加自定义资源组 | ||
DRDS | 云数据库 | 经典网络 | 支持 | - |
专有网络 | 排期中 | 添加自定义资源组 | ||
HybridDB for MySQL | 云数据库 | 经典网络 | 支持 | - |
专有网络 | 排期中 | 添加自定义资源组 | ||
HybridDB for PostgreSQL | 云数据库 | 经典网络 | 支持 | - |
专有网络 | 排期中 | 添加自定义资源组 | ||
MaxCompute(对应数据源名称是 odps) | 云数据库 | 经典网络 | 支持 | - |
专有网络 | 支持 | - | ||
AnalyticDB(对应数据源名称ADS) | 云数据库 | 经典网络 | 支持 | - |
专有网络 | 排期中 | 添加自定义资源组 | ||
OSS | 云数据库 | 经典网络 | 支持 | - |
专有网络 | 支持 | - | ||
Hdfs | ||||
有公网IP | 支持 | - | ||
ECS自建 | 经典网络 | 支持 | - | |
专有网络 | 不支持 | 添加自定义资源组 | ||
FTP | ||||
有公网IP | 支持 | - | ||
无公网IP | 不支持 | 添加自定义资源组 | ||
ECS自建 | 经典网络 | 支持 | - | |
专有网络 | 不支持 | 添加自定义资源组 | ||
MongoDB | 云数据库 | 经典网络 | 支持 | - |
专有网络 | 排期中 | 添加自定义资源组 | ||
有公网IP | 支持 | - | ||
ECS自建 | 经典网络 | 支持 | - | |
专有网络 | 不支持 | 添加自定义资源组 | ||
Memcache | 云数据库 | 经典网络 | 支持 | - |
专有网络 | 排期中 | 添加自定义资源组 | ||
Redis | 云数据库 | 经典网络 | 支持 | - |
专有网络 | 排期中 | 添加自定义资源组 | ||
有公网IP | 支持 | - | ||
ECS自建 | 经典网络 | 支持 | - | |
专有网络 | 不支持 | 添加自定义资源组 | ||
Table Store(对应数据源名称是OTS) | 云数据库 | 经典网络 | 支持 | - |
专有网络 | 排期中 | 添加自定义资源组 |
上述表格中的 - 表示没有此种说法,不支持 并不代表不能配置同步任务,只是 单击测试连通性无效,需要添加自定义资源组。
1)VPC 环境的 RDS 数据源支持测试连通性。
2)其他数据源 VPC 网络正在排期。
3)金融云网络暂时不支持测试连通性。
1)经典网络支持 JDBC 的格式测试连通性,一般是走公网。
2)VPC 环境暂时不支持测试连通性。
3)跨区域暂时不支持测试连通性。
4)金融云网络暂时不支持测试连通性。
目前要实现数据同步都是添加自定义资源组的方法,详情请参见 VPC 环境数据同步配置(金融云)。
关于 ECS 自建的数据源,需要特别注意安全组的添加,在 ECS 安全组中入/出方向添加调度集群的 IP(公网和经典网络都要在对应的入/出方向添加),如果没有添加相应的安全组同步会出现相应的连接不上的问题。详情请参见 如何添加安全组。大的端口范围无法在 ECS 安全组界面添加,请使用 ECS 的安全组 API 进行添加,详情请参见 AuthorizeSecurityGroup。
1)不支持测试连通性。
2)配置同步任务要添加自定义资源组。
更多详情请参见 同步数据库的数据(无公网IP)。
一律走公网 JDBC 格式,如果测试连通性失败,则检查您本地网络的限制或者数据库本身的限制。
1. 调度集群目前在华东 2、华南 1、香港、新加坡均有部署,目前根据经验,以调度集群在 华东 2 为准和用户数据源做对比。假设用户的 MongoDB 数据源在华北经典网络以我们调度集群在华东 2 经典网络为准,跨区域是不通的。
2. OXS 集群和 ECS 集群,内网不通。
RDS 的调度集群是 OXS,OXS 集群是和内网大陆所有区域的 RDS 是互通的。其他数据源的调度集群是另外一套 ECS 经典网络的调度集群。
比如 RDS 同步到自建数据库测试的时候,RDS 和自建数据库数据源测试连通性都能成功。但实际调度的时候,RDS 会下发到 OXS 调度集群,自建的会跑到 ECS 集群,RDS 和 ECS 集群不通,所以会失败。一般建议您将 RDS 改为 MySQL > JDBC 方式,这样都会跑到 ECS 集群上连接是可以通的。
1. 出现 RDS 作为数据源的时候,任务会到 OXS 集群同步。日志如下图所示:
2. 当数据源为其他数据源在是 ECS 调度集群,如下图所示:
3. 当调度集群为自定义调度资源时,日志如下图所示(非常重要,用于判断用户是否是自定义资源组):
4. 进入数据集成测试页面,直接单击 运行,统一走的是 ECS 调度集群,所以会有用户反馈,RDS 相关任务手动运行成功,调度失败。因为 RDS 作为数据源跨区域时候,需要在 OXS 调度集群执行。所以需要您进行 调度运维 > 测试运行。
注意:
关于数据源的测试连通性,可能大家最想了解的走公网的收费情况。下面以 RDS 同步到 MaxCompute 收费问题为例:
数据集成目前是不收费的,但有可能涉及一些收费的产品,这个可以参考涉及的收费产品来判断,DataWorks 配置关于 MaxCompute 的数据同步,都是不收费的。除非您自己在脚本模式自己加参数配置 MaxCompute 的 Tunnel 的公网地址,会收费(实际上我们在脚本模式生成的模板中没有提供这个参数)。
1. 当遇到测试连通性失败,一般有下面两种情况:
1)常见错误实例,填写信息错误,核实数据源数据库名称,用户名、密码是否正确:
2)没有连接上数据库,核实数据源区域,网络类型,白名单是否添加完整,实例 ID 等相关信息:
2. 同步过程中出现网络断开等。
首先要完整日志,看下调度资源是哪个,是否是自定义资源。
如果是自定义资源,核实自定义资源组的 IP 是否添加到数据源比如 RDS 白名单(MongoDB也是有白名单限制的,也需要添加)。
核实两端数据源连通性是否通过,核实 RDS,MongoDB 白名单是否会添加完整(如果不完整,有时候会成功有的时候会失败,如果任务下发到已添加的调度服务器上会成功,没添加的会失败)。
3. 任务显示成功,但是日志出现 8000 断开报错。
出现上述报错,是因为用户使用的自定义调度资源组,没有对 10.116.134.123,访问 8000 端口在安全组内网入方向放行,添加后重新运行即可。
测试连接失败,测试数据源连通性失败。连接数据库失败,数据库连接串:jdbc:mysql://xx.xx.xx.x:xxxx/t_uoer_bradef, 用户名:xxxx_test,异常消息:Access denied for user ‘xxxx_test’@’%’ to database ‘yyyy_demo’。
1)确认其添加的信息有没有问题。
2)密码、白名单或者用户的账号有没有对应数据库的权限,RDS 管控台可以添加授权的。
测试连接失败,测试数据源连通性失败。报错如下:
error message: Timed out after 5000 ms while waiting for a server that matches ReadPreferenceServerSelector{readPreference=primary}. Client view of cluster state is {type=UNKNOWN, servers=[(xxxxxxxxxx), type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketReadException: Prematurely reached end of stream}}]
非 VPC 的 Mongodb,添加 Mongodb 数据源测试连通性要添加相应的白名单,详情请参见 如何添加白名单。