携趣ip代理阿里云马来西亚代理商:阿里云开源版本DataX插件体系

聚搜云-携趣ip代理阿里云代理商,阿里云服务器优惠券,阿里云钻石代理商​www.4526.cn/

聚搜云(聚搜云-阿里云代理商,阿里云服务器优惠券,阿里云钻石代理商)是上海聚搜信息技术有限公司旗下品牌,坐落于魔都上海,服务于全球、2019年成为阿里云代理商生态合作伙伴。与阿里云代理商、腾讯云、华为云、西部数码、美橙互联、AWS亚马逊云国际站代理商、聚搜云,长期战略合作的计划!阿里云国际站代理商专业的云服务商!

阿里云马来西亚代理商:阿里云开源版本DataX插件体系

前言最近在做一个项目,由于客户方的安全性要求,携趣ip代理服务器无法访问外网资源。由于一些基础数据需要通过互联网的服务器获取。于是我们决定在DMZ区进行数据的中间转换。一开始考虑的转换方法是通过部署一套前置应用服务来处理数据,但后来在通过一些资料的了解后,发现了一套开源的项目datax,觉得正好满足需求,于是就了解了一番。今天在这里分享给大家。介绍DataX 是阿里云的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具。DataX 实现了包括 MySQL、Oracle、HDFS、Hive、HBase 等各种异构数据源之间高效的数据同步功能。DataX本身作为数据同步框架,将不同数据源携趣ip代理的同步抽象为从源头数据源读取数据的reader插件,以及向目标端写入数据的writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时DataX插件体系作为一套生态系统, 每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。案例首先安装部署datax。这边为了方便后期交由他人使用,所以部署两个服务,一个是datax,一个是datax的web端,可以通过在web端的页面上进行操作。部署安装这块这边就不过多介绍。安装完成后,打开web端数据源配置

这个页面就是进行数据源的配置,我们将源头的数据携趣ip代理源以及目标的数据源都在这里进行配置。由于datax其实就是基于xxljob进行开发的,所以你会发现web端的界面其实和xxljob差不多。数据源配置完成后就去执行器管理里进行执行器的配置。任务配置进入任务管理页面。

这个是整个任务的管理页面,可以对任务进行新增,修改删除等,也可以执行一次任务。我们来新增一个任务,进入任务构建菜单Reader

在这个tab页配置reader的信息,配置来源的数据源,以及获取的数据字段,筛选的条件等。Writer

在这个tab页配置writer的信息,配置写入的数据源,以及对应的数据字段,前置的sql条件(全量覆携趣ip代理盖的话就可以先通过truncate清空数据)等。

然后是源和目标的字段的映射关系最后进入构建页面

这一步就会生成一串json脚本,而这就是我们所需要的(ps:如果大家使用习惯了,其实后面可以直接通过修改这个脚本,而不需要像上面这样一步一步进行。)"job": {"setting": {"speed": {"channel": 3},"errorLimit": {"record": 0,"percentage": 0.02},"content": ["reader": {"name": "mysqlreader","parameter": {"username": "yRjwDFuoPKlqya9h9H2Amg==","password": "ipQLeFVGy22dbTMj3sl1RA==","column": ["`id`","`name`","`created_time`","`updated_time`","`created_by`","`updated_by`"],"splitPk": "","connection": ["table": ["table_1"],"jdbcUrl": ["jdbc:mysql://localhost:30307/datax_web_test_1?characterEncoding=UTF-8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8"},"writer": {"name": "mysqlwriter","parameter": {"username": "yRjwDFuoPKlqya9h9H2Amg==","password": "ipQLeFVGy22dbTMj3sl1RA==","column": ["`id`","`name`","`created_time`","`updated_time`","`created_by`","`updated_by`"],"preSql": ["truncate table_1"],"connection": ["table": ["table_1"],"jdbcUrl": "jdbc:mysql://localhost:30307/datax_web_test_2?characterEncoding=UTF-8&useUnicode=true&useSSL=false&serverTimezone=GMT%2B8"任务管理里新增任务

任务类型选择datax,然后将刚刚生成的json脚本复制到下面就可以了。后面就可以执行进行测试。问题配置过程中很多数据源以及任务都成功配置,并执行。但也有些任务执行后报错。

ERROR RetryUtil - Exception when calling callable, 异常Msg:DataX无法连接对应的数据库,可能原因是:1) 配置的ip/port/database/jdbc错误,无法连接。2) 配置的username/password错误,鉴权失败。请和DBA确认该数据库的连接信息是否正确。java.lang.Exception: DataX无法连接对应的数据库,可能原因是:1) 配置的ip/port/database/jdbc错误,无法连接。2) 配置的username/password错误,鉴权失败。请和DBA确认该数据库的连接信息是否正确。怀疑过是否用户名密码问题,用户权限问题,但都一一排除。并且这些配置的数据源在页面测试连接的时候又是正常的。最终排查出来,那些有问题的数据源的mysql是8.0的版本。而部署的datax的mysql驱动是5版本的

后来替换成8版本的驱动后问题解决。