注意:以下文档只适用于TOP接口,请谨慎使用!

文档中心 > 聚石塔

数据源测试连通性支持

更新时间:2018/06/11 访问次数:6525
数据源 数据源类型 网络类型 是否支持测试连通性 是否添加自定义资源组
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) 云数据库 经典网络 支持 -
专有网络 排期中 添加自定义资源组

对上面的几种情况进行说明:

上述表格中的 - 表示没有此种说法,不支持 并不代表不能配置同步任务,只是 单击测试连通性无效,需要添加自定义资源组。

VPC 环境数据源:

  • VPC 环境的 RDS 数据源支持测试连通性。

  • 其他数据源 VPC 网络正在排期。

  • 金融云网络暂时不支持测试连通性。

ECS 自建数据源:

  • 经典网络支持 JDBC 的格式测试连通性,一般是走公网。

  • VPC 环境暂时不支持测试连通性。

  • 跨区域暂时不支持测试连通性。

  • 金融云网络暂时不支持测试连通性。

目前要实现数据同步都是添加自定义资源组的方法,详情请参见 VPC 环境数据同步配置(金融云)

关于 ECS 自建的数据源,需要特别注意安全组的添加,在 ECS 安全组中入/出方向添加调度集群的 IP(公网和经典网络都要在对应的入/出方向添加),如果没有添加相应的安全组同步会出现相应的连接不上的问题。详情请参见 如何添加安全组。大的端口范围无法在 ECS 安全组界面添加,请使用 ECS 的安全组 API 进行添加,详情请参见 AuthorizeSecurityGroup

没有公网 IP 本地 IDC 机房或 ECS 搭建的数据源:

有公网 IP 本地 IDC 机房或 ECS 搭建的数据源:

一律走公网 JDBC 格式,如果测试连通性失败,则检查您本地网络的限制或者数据库本身的限制。

关于调度集群情况

  • 调度集群目前在华东 2、华南 1、香港、新加坡均有部署,目前根据经验,以调度集群在 华东 2 为准和用户数据源做对比。假设用户的 MongoDB 数据源在华北经典网络以我们调度集群在华东 2 经典网络为准,跨区域是不通的。

  • OXS 集群和 ECS 集群,内网不通。

    RDS 的调度集群是 OXS,OXS 集群是和内网大陆所有区域的 RDS 是互通的。其他数据源的调度集群是另外一套 ECS 经典网络的调度集群。

    比如 RDS 同步到自建数据库测试的时候,RDS 和自建数据库数据源测试连通性都能成功。但实际调度的时候,RDS 会下发到 OXS 调度集群,自建的会跑到 ECS 集群,RDS 和 ECS 集群不通,所以会失败。一般建议您将 RDS 改为 MySQL > JDBC 方式,这样都会跑到 ECS 集群上连接是可以通的。

怎么查看任务下发执行集群

  • 出现 RDS 作为数据源的时候,任务会到 OXS 集群同步。日志如下图所示:

    1

  • 当数据源为其他数据源在是 ECS 调度集群,如下图所示:

    1

  • 当调度集群为自定义调度资源时,日志如下图所示(非常重要,用于判断用户是否是自定义资源组):

    1

  • 进入数据集成测试页面,直接单击 运行,统一走的是 ECS 调度集群,所以会有用户反馈,RDS 相关任务手动运行成功,调度失败。因为 RDS 作为数据源跨区域时候,需要在 OXS 调度集群执行。所以需要您进行 调度运维 > 测试运行

注意

关于数据源的测试连通性,可能大家最想了解的走公网的收费情况。下面以 RDS 同步到 MaxCompute 收费问题为例:

数据集成目前是不收费的,但有可能涉及一些收费的产品,这个可以参考涉及的收费产品来判断,DataWorks 配置关于 MaxCompute 的数据同步,都是不收费的。除非您自己在脚本模式自己加参数配置 MaxCompute 的 Tunnel 的公网地址,会收费(实际上我们在脚本模式生成的模板中没有提供这个参数)。

总结

  • 当遇到测试连通性失败,一般有下面两种情况:

    • 常见错误实例,填写信息错误,核实数据源数据库名称,用户名、密码是否正确:

      1

    • 没有连接上数据库,核实数据源区域,网络类型,白名单是否添加完整,实例 ID 等相关信息:

      5.jpg | center

  • 同步过程中出现网络断开等。

    首先要完整日志,看下调度资源是哪个,是否是自定义资源。

    如果是自定义资源,核实自定义资源组的 IP 是否添加到数据源比如 RDS 白名单(MongoDB也是有白名单限制的,也需要添加)。

    核实两端数据源连通性是否通过,核实 RDS,MongoDB 白名单是否会添加完整(如果不完整,有时候会成功有的时候会失败,如果任务下发到已添加的调度服务器上会成功,没添加的会失败)。

  • 任务显示成功,但是日志出现 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 管控台可以添加授权的。

示例二

问题现象

测试连接失败,测试数据源连通性失败。报错如下:

  1. 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 数据源测试连通性要添加相应的白名单,详情请参见 如何添加白名单

FAQ

关于此文档暂时还没有FAQ
返回
顶部