DataX Web简介
DataX Web是在DataX之上开发的分布式数据同步工具,提供简单易用的操作界面,降低用户使用DataX的学习成本,缩短任务配置时间,避免配置过程中出错。用户可通过页面选择数据源即可创建数据同步任务,RDBMS数据源可批量创建数据同步任务,支持实时查看数据同步进度及日志并提供终止同步功能,集成并二次开发xxl-job可根据时间、自增主键增量同步数据。
任务"执行器"支持集群部署,支持执行器多节点路由策略选择,支持超时控制、失败重试、失败告警、任务依赖,执行器CPU.内存.负载的监控等等。后续还将提供更多的数据源支持、数据转换UDF、表结构同步、数据同步血缘等更为复杂的业务场景。
v-2.1.2更新内容
新增
添加项目管理模块,可对任务分类管理;
对RDBMS数据源增加批量任务创建功能,选择数据源,表即可根据模板批量生成DataX同步任务;
JSON构建增加ClickHouse数据源支持;
执行器CPU.内存.负载的监控页面图形化;
RDBMS数据源增量抽取增加主键自增方式并优化页面参数配置;
更换MongoDB数据源连接方式,重构HBase数据源JSON构建模块;
脚本类型任务增加停止功能;
rdbms json构建增加postSql,并支持构建多个preSql,postSql;
合并datax-registry模块到datax-rpc中;
数据源信息加密算法修改及代码优化;
时间增量同步支持更多时间格式;
日志页面增加DataX执行结果统计数据;
升级:
PostgreSql,SQLServer,Oracle 数据源JSON构建增加schema name选择;
DataX JSON中的字段名称与数据源关键词一致问题优化;
任务管理页面按钮展示优化;
日志管理页面增加任务描述信息;
JSON构建前端form表单不能缓存数据问题修复;
HIVE JSON构建增加头尾选项参数;
System Requirements
Language: Java 8(jdk版本建议1.8.201以上)<br>
Python2.7(支持Python3需要修改替换datax/bin下面的三个python文件,替换文件在doc/datax-web/datax-python3下)
Environment: MacOS, Windows,Linux
Database: Mysql5.7
Introduction:
1.执行器配置(使用开源项目xxl-job)
1、"调度中心OnLine:"右侧显示在线的"调度中心"列表, 任务执行结束后, 将会以failover的模式进行回调调度中心通知执行结果, 避免回调的单点风险;
2、"执行器列表" 中显示在线的执行器列表, 可通过"OnLine 机器"查看对应执行器的集群机器;
执行器属性说明
1、AppName: (与datax-executor中application.yml的datax.job.executor.appname保持一致) 每个执行器集群的唯一标示AppName, 执行器会周期性以AppName为对象进行自动注册。可通过该配置自动发现注册成功的执行器, 供任务调度时使用;2、名称: 执行器的名称, 因为AppName限制字母数字等组成,可读性不强, 名称为了提高执行器的可读性;3、排序: 执行器的排序, 系统中需要执行器的地方,如任务新增, 将会按照该排序读取可用的执行器列表;4、注册方式:调度中心获取执行器地址的方式;自动注册:执行器自动进行执行器注册,调度中心通过底层注册表可以动态发现执行器机器地址;手动录入:人工手动录入执行器的地址信息,多地址逗号分隔,供调度中心使用;5、机器地址:"注册方式"为"手动录入"时有效,支持人工维护执行器的地址信息;
2.创建数据源
第四步使用
3.创建任务模版
第四步使用
4. 构建JSON脚本
1.步骤一,步骤二,选择第二步中创建的数据源,JSON构建目前支持的数据源有hive,mysql,oracle,postgresql,sqlserver,hbase,mongodb,clickhouse 其它数据源的JSON构建正在开发中,暂时需要手动编写。
2.字段映射
3.点击构建,生成json,此时可以选择复制json然后创建任务,选择datax任务,将json粘贴到文本框。也可以点击选择模版,直接生成任务。
5.批量创建任务
6.任务创建介绍(关联模版创建任务不再介绍,具体参考4. 构建JSON脚本)
DataX任务
Shell任务
Python任务
PowerShell任务
任务类型:目前支持DataX任务、Shell任务、Python任务、PowerShell任务;
阻塞处理策略:调度过于密集执行器来不及处理时的处理策略;
单机串行:调度请求进入单机执行器后,调度请求进入FIFO队列并以串行方式运行;
丢弃后续调度:调度请求进入单机执行器后,发现执行器存在运行的调度任务,本次请求将会被丢弃并标记为失败;
覆盖之前调度:调度请求进入单机执行器后,发现执行器存在运行的调度任务,将会终止运行中的调度任务并清空队列,然后运行本地调度任务;
增量增新建议将阻塞策略设置为丢弃后续调度或者单机串行
设置单机串行时应该注意合理设置重试次数(失败重试的次数*每次执行时间<任务的调度周期),重试的次数如果设置的过多会导致数据重复,例如任务30秒执行一次,每次执行时间需要20秒,设置重试三次,如果任务失败了,第一个重试的时间段为1577755680-1577756680,重试任务没结束,新任务又开启,那新任务的时间段会是1577755680-1577758680
7. 任务列表
8. 可以点击查看日志,实时获取日志信息,终止正在执行的datax进程
9.任务资源监控
10. admin可以创建用户,编辑用户信息
注意:本文归作者所有,未经作者允许,不得转载