DATA-WEB使用手册

415 阅读6分钟

简介

DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。

访问地址

http://192.168.80.128:9527/index.html   账号:admin   密码:123456

运行报表

       运行报表头部展示当天执行定时任务的统计数据,折线图展示历史七天的定时任务执行结果数据。

项目管理

       项目管理模块主要是对要进行同步的项目进行创建、编辑和删除,添加信息包括项目和项目描述都是必填项。

任务管理

任务管理

       任务管理模块主要是新增、任务构建以及任务批量构建生成的定时同步数据信息,定时任务数据点击状态按钮可以进行任务的开启以及关闭,操作栏可以进行执行一次定时任务以及查询日志、编辑和删除功能。

执行器:当前执行任务的机器。

路由策略:当执行器集群部署时,提供丰富的路由策略,包括;

FIRST(第一个):固定选择第一个机器;

LAST(最后一个):固定选择最后一个机器;

ROUND(轮询):轮流执行;

RANDOM(随机):随机选择在线的机器;                                                           

CONSISTENT_HASH(一致性HASH):每个任务按照Hash算法固定选择某一台机器,且所有任务均匀散列在不同机器上。

LEAST_FREQUENTLY_USED(最不经常使用):使用频率最低的机器优先被选举;

LEAST_RECENTLY_USED(最近最久未使用):最久为使用的机器优先被选举;

FAILOVER(故障转移):按照顺序依次进行心跳检测,第一个心跳检测成功的机器选定为目标执行器并发起调度;

BUSYOVER(忙碌转移):按照顺序依次进行空闲检测,第一个空闲检测成功的机器选定为目标执行器并发起调度;

阻塞处理策略:调度过于密集执行器来不及处理时的处理策略;

单机串行:调度请求进入单机执行器后,调度请求进入FIFO队列并以串行方式运行;

丢弃后续调度:调度请求进入单机执行器后,发现执行器存在运行的调度任务,本次请求将会被丢弃并标记为失败;

覆盖之前调度:调度请求进入单机执行器后,发现执行器存在运行的调度任务,将会终止运行中的调度任务并清空队列,然后运行本地调度任务;

增量增新建议将阻塞策略设置为丢弃后续调度或者单机串行

任务构建

       任务构建之前需要先创建数据源,任务构建是进行单表映射关系,步骤一是读取数据信息,可以通过数据库源、数据库表名和表所有字段获取源数据或者自己写sql获取源数据,可以添加where控制条件。其中数据库源和数据库表名是必填项。

步骤二是写入数据,数据库源选择要入库的数据库信息,数据库表名是要入库的表信息,字段选择要同步数据的字段信息,前置sql是要执行同步之前进行的sql操作。

步骤三是字段映射,源端字段是源数据库要同步的字段信息,目标字段是入库的数据库同步字段。

脚本基础参数说明(mysql、oracle)

{    "job": {        "setting": {            "speed": {                "channel": 并发数            }        },        "content": [            {                 "reader": {                    "name": "固定的名字",                    "parameter": {                        "username": "账号",                        "password": "密码",                        "column": [                            "字段1",                            "字段2",                            "字段3"                            ps:[*]表示所有列,但是不建议使用                        ],                        "splitPk": "分片字段,丢给task,所以必须是整形。一般用主键即可(非必须)",                        "connection": [                            {                                "table": [ "表"],                                "jdbcUrl": [  "数据库连接地址"],                                "querySql":["这里可以写查询数据的sql语句,但是如果这里写了,则不允许再配置table,否则会报错(非必须,table和querySql只能存在一个)"]                            }                        ],                        "where":"过滤条件"                    }                },                "writer": {                    "name": "固定的名字",                    "parameter": {                        "writeMode": "写入策略",                        "username": "账户",                        "password": "密码",                        "column": [                            "字段1",                            "字段2",                            "字段3"                        ],                        "session": [                            "DataX在获取Mysql连接时,执行session指定的SQL语句,修改当前connection session属性(非必须)"                        ],                        "preSql": [                            "写入数据到目的表前,会先执行这里的标准语句(非必须)"                        ],                        "connection": [                            {                                "jdbcUrl": "数据库连接地址",                                "table": [                                    "表"                                ]                            }                        ]                    }                }            }        ]    }}

任务批量构建

DataX任务模板

       任务模板模块新增内容与任务管理差不多,主要是为了任务构建和任务批量构建提供定时任务模板。

数据源管理

       数据同步的基础是数据库信息,这一块添加源数据库信息以及同步数据库信息。数据库是需要数据库类型,数据源名称自行命名便于区分,用户名是数据库的用户名,密码是数据库密码,觉得不错url是数据库连接信息,包括ip和端口号。

日志管理

       展示定时任务执行的记录信息,可以查看同步报错信息。

执行器管理

       配置当前执行任务的机器信息,主要为集群做准备。

  1. AppName: (与datax-executor中application.yml的datax.job.executor.appname保持一致)
  2. 每个执行器集群的唯一标示AppName, 执行器会周期性以AppName为对象进行自动注册。可通过该配置自动发现注册成功的执行器, 供任务调度时使用;
  3. 名称: 执行器的名称, 因为AppName限制字母数字等组成,可读性不强, 名称为了提高执行器的可读性;
  4. 排序: 执行器的排序, 系统中需要执行器的地方,如任务新增, 将会按照该排序读取可用的执行器列表;
  5. 注册方式:调度中心获取执行器地址的方式;
  6. 自动注册:执行器自动进行执行器注册,调度中心通过底层注册表可以动态发现执行器机器地址;
  7. 手动录入:人工手动录入执行器的地址信息,多地址逗号分隔,供调度中心使用;
  8. 机器地址:"注册方式"为"手动录入"时有效,支持人工维护执行器的地址信息;

用户管理

资源监控

JSON格式

集群部署

修改modules/datax-executor/conf/application.yml文件下admin.addresses地址。 为了方便单机版部署,项目目前没有将ip部分配置到env.properties,部署多节点时可以将整个地址作为变量配置到env文件。

将官方提供的tar包或者编译打包的tar包上传到服务节点,按照步骤5中介绍的方式单一地启动某一模块服务即可。例如执行器需要部署多个节点,仅需启动执行器项目,执行 ./bin/start.sh -m datax-executor

调度中心、执行器支持集群部署,提升调度系统容灾和可用性。

  1. 调度中心集群:
  2. DB配置保持一致;
  3. 集群机器时钟保持一致(单机集群忽视);
  4. 执行器集群:
  5. 执行器回调地址(admin.addresses)需要保持一致;执行器根据该配置进行执行器自动注册等操作。
  6. 同一个执行器集群内AppName(executor.appname)需要保持一致;调度中心根据该配置动态发现不同集群的在线执行器列表。