DataX-WebDataX阿里在开源的时候没有提供任何可视化界面。我们在使用过程中需要将Json配置文件放到DataX的job路径下,随着业务的增多,配置文件不便管理和迁移,每次执行命令都需要记录下来。DataX目前只支持单机版,无法控制多个节点之间的协同。我们希望有一个友好的可视化界面,支持定时任务,支持分布式数据同步工具,这也是这个项目的目标。项目地址:https://github.com/WeiYe-Jing/datax-web系统要求语言:Java8Python2.7(支持Python3,需要修改替换datax/bin下的三个python文件,替换文件在doc/datax源码阅读笔记/datax-python下3)环境:MacOS,Windows,Linux数据库:Mysql5.7Features1。通过Web构建DataXJson;2、数据库中保存DataXJson,方便任务迁移和管理;3、在Web端实时查看并提取日志,类似JenkinsLog控制台输出功能;4、DataX运行记录显示,页面操作可停止DataX作业;5、支持DataX定时任务,支持动态修改任务状态,启动/停止任务,终止正在运行的任务,立即生效;6、采用SchedulingCentral设计,支持集群部署;7、任务分布式执行,任务“executor”支持集群部署;8、执行器会定时自动注册任务,调度中心会自动发现注册的任务并触发执行;9、路由策略:执行器集群部署时提供了丰富的路由策略,包括:first、last、polling、random、consistentHASH、leastfrequentedused、leastrecentlyused、failover、busytransfer等;10、阻塞处理策略:调度过于密集,执行者来不及处理时的处理策略。策略包括:单机串行(默认)、丢弃后续调度、重写前调度;11、任务超时控制:支持自定义任务超时时间,任务运行超时会主动中断任务;12、任务失败重试:支持自定义任务失败重试次数,当任务失败时,会按照预设的失败重试次数主动重试;13.任务失败报警;默认提供邮件失败告警,同时预留扩展接口,可方便扩展短信、钉钉等告警方式;14、用户管理:支持在线管理系统用户,有两种角色:管理员和普通用户;15、任务依赖:支持配置子任务依赖,当父任务执行完成并执行成功后,会主动触发一个子任务的执行,多个子任务之间用逗号分隔;16、运行报表:支持实时查看运行数据和调度报表,如调度日期分布图、调度成功分布图等;快速入门1。下载datax的打包文件或从github2拉取datax代码包。拉取最新版本的release到本地代码库,执行doc/db下的sql文件3.修改datax_admin下application.yml的数据库配置信息和email地址信息4.修改datax-executor下的application.yml文件1.datax.job.admin.addresses(调度中心地址,多个逗号分隔)2.datax.job.executor.logpath(数据提取日志文件存放路径)3、datax.executor.jsonpath(dataxjson临时文件存放路径)4、datax.pypath(datax/bin/datax.py)阿里DataX启动文件地址5.idea启动datax-admin、datax-executor6。启动成功后打开页面(默认管理员用户名:admin密码:123456)http://localhost:8080/index.html#/dashboard7.构建JSON脚本8.创建任务阻塞处理策略:调度时的处理策略执行者无法处理的过于密集;单机串行:调度请求进入单机执行器后,进入FIFO队列,串行运行;丢弃后续调度:调度请求进入单机执行器后,发现执行器上有正在运行的调度任务,该请求将被丢弃并标记为失败;schedulingbeforecoverage:调度请求进入单机执行器后,发现执行器有正在运行的调度任务,会终止正在运行的任务9.任务列表10.可以点击查看日志,获取日志信息实时,并终止正在执行的datax进程11.管理员可以创建用户和编辑用户信息12.配置执行器(使用开源项目xxl-job)1.“在线调度中心:”右侧显示在线“调度中心”列表。任务执行完成后,以failover方式回调调度中心通知执行结果,避免单一回调2、“执行者列表”中显示在线执行者列表,执行者对应的集群机器可通过“在线机”查看;executor属性说明1.AppName:是每个executor集群的唯一标识AppName,executor会周期性自动向AppName注册为对象通过该配置,可以自动发现注册成功的executor用于任务调度;2.Name:执行者的名字,因为AppName仅限于字母和数字,可读性不强。这个名字是为了提高执行器的可读性;3.排序:执行器的排序,系统中需要执行器的地方,如果有任务添加,会按照这个排序读取可用的执行器列表;4、注册方式:调度中心获取执行人地址的方式;自动注册:执行器自动注册执行器,调度中心可以通过底层注册中心动态发现执行器的机器地址;手工录入:手工录入执行人地址信息,多个地址用逗号分隔,供调度中心使用;5、机器地址:“注册方式”为“手动录入”时有效,支持手动维护执行人地址信息;Linux部署说明在QuickStart操作前四步之后,5.执行mvnpackage-Dmaven.test.skip=true6。将datax-admin-1.0.0.jar和datax-executor-1.0.0.jar放到对应服务器的datax-admin和datax-executor模块target下7、执行java命令启动项目nohupjava-Xmx1024M-xms1024M-Xmn448M-XX:MaxMetaspaceSize=192M-XX:MetaspaceSize=192M-jardatax-admin-1.0.0.jar--server.port=8080&UI前端地址下一版本迭代功能1.指定增量字段为每个时间间隔自动获取数据。2.自动创建源表到目标表3.数据源连接测试功能4.josn构建添加hive数据源5.任务批量导入功能6.页面配置datax启动参数联系我们QQ交流群795380631
