总则:数据同步会尽量走内网连接。
一、关于测试连通
1,目前vpc测试连通性支持的数据源是 rds数据源,其他数据源vpc网络正在排期,金融云网络暂时不支持测试连通性。
2,跨区域内网测试连通性支持的是 rds 数据源,其他数据源也在规划中;云mongo和redis数据源内网跨区域经典网络是可以连通的
3,ecs自建数据源,实际上不用关心自建数据源的类型。这个和ecs所在区域和网络类型有关。参考上面vpc和跨区域的1,2两点描述。
用户ecs需要放行对应DataWorks服务的相关ip,DataWorks提供了相关安全组供添加,参考
https://help.aliyun.com/document_detail/62917.html?spm=a2c4g.11174283.6.600.afH9DZ
4,本地机房或者自己电脑的数据源,一律走公网jdbc格式。如果不通,检查用户本地网络的限制,或者数据库本身的限制
5,新加坡,香港区域也是适用于上述说法
关于跨区域、vpc的数据源(rds除外),金融云网络。现在统一的解决办法
一,走公网。也需要把相关白名单ip放行 https://help.aliyun.com/document_detail/60024.html?
二,配置自定义资源组(目前暂时支持华东2区添加自定义资源组)
步骤如下:
1,准一台和数据源同区域同网络的ecs作为调度资源https://help.aliyun.com/document_detail/52330.html?spm=5176.product30254.6.564.aCM3Th,
并将这台ecs的ip加入数据源的白名单(没有白名单就不加)或者安全组
大的端口范围无法在ecs安全组界面添加的,请使用ecs的安全组api添加:
https://help.aliyun.com/document_detail/25554.html?|https://help.aliyun.com/document_detail/25554.html?spm=5176.doc25485.6.860.MEdQih
2,数据源测试连通的时候直接确定保存
3,使用脚本模式配置同步
4,在运维中心-任务管理-列表模式-修改资源组为自己调度资源,测试运行
三、关于rds-odps收费问题
目前在大数据开发套件配置关于odps的数据同步,都是不收费的。除非用户自己在脚本模式自己加参数配置odps的tunnel的公网地址,会收费(实际上我们在脚本模式生成的模板中没有提供这个参数)
四、总结排查思路
1,当遇到测试连通性这一步失败的时候,
*核实数据源区域,网络类型,rds白名单是否添加完整,实例id,数据库名称,用户名是否正确
***常见错误实例,这种是 密码,数据库错误
***网络不通示意图
2,同步过程中出现网络断开等
首先要完整日志,看下调度资源是哪个,是否是自定义资源
如果是自定义资源,核实自定义资源组的ip是否添加到数据源比如rds白名单(mongo也是有白名单限制的,也需要添加)
核实两端数据源连通性是否通过,核实rds,mongo白名单是否会添加完整(如果不完整,有的时候会成功有的时候会失败,如果任务下发到已添加的调度服务器上会成功,没添加的会失败)
3,任务显示成功,但是日志出现8000断开报错,是因为用户使用的自定义调度资源组,没有对10.116.134.123,访问 8000 端口在安全组内网入方向放行。添加后重新运行即可。
看下
4,其他日志报错,看下具体报错,
脏数据
字段类型不对应
odps分区找不到
字段类型长度不够等 可以参考这个文档的一些案例
https://yq.aliyun.com/articles/82428?spm=5176.8091938.0.0.vcOiqt
5,odps同步到ads,
https://help.aliyun.com/document_detail/26412.html?spm=5176.product26371.6.583.4FqlV9
一般是权限问题,没有授权。
odps中对garuda_buildaliyun.com以及garuda_dataaliyun.com授权,ads中当前账户对database的授权。
有对大数据技术感兴趣的,可以加笔者的微信 wx4085116.目前笔者已经从阿里离职,博客不代表阿里立场。笔者开了一个大数据培训班。有兴趣的加我。