Datax可视化工具Datax-web安装部署

文章目录
  • 一、Datax-web官网
  • 二、Datax-web介绍
    • 1、Datax-web概述
    • 2、架构图
    • 3、系统环境要求
    • 4、特性支持
  • 三、安装部署
    • 1、环境准备
    • 2、Datax-web安装包准备

一、Datax-web官网

github:Datax-web
gitee: Datax-web

二、Datax-web介绍

1、Datax-web概述

  • DataX Web是在DataX之上开发的分布式数据同步工具,提供简单易用的 操作界面,降低用户使用DataX的学习成本,缩短任务配置时间,避免配置过程中出错。用户可通过页面选择数据源即可创建数据同步任务,支持RDBMS、Hive、HBase、ClickHouse、MongoDB等数据源,RDBMS数据源可批量创建数据同步任务,支持实时查看数据同步进度及日志并提供终止同步功能,集成并二次开发xxl-job可根据时间、自增主键增量同步数据。

  • 任务"执行器"支持集群部署,支持执行器多节点路由策略选择,支持超时控制、失败重试、失败告警、任务依赖,执行器CPU.内存.负载的监控等等。后续还将提供更多的数据源支持、数据转换UDF、表结构同步、数据同步血缘等更为复杂的业务场景。

2、架构图

在这里插入图片描述

3、系统环境要求

  • JDK版本: Java 8(jdk版本建议1.8.201以上)
  • Python版本:Python2.7(支持Python3需要修改替换datax/bin下面的三个python文件,替换文件在doc/datax-web/datax-python3下)
  • 操作系统: MacOS, Windows,Linux
  • 数据库版本: Mysql5.7及以上

4、特性支持

  • 1、通过Web构建DataX Json;
  • 2、DataX Json保存在数据库中,方便任务的迁移,管理;
  • 3、Web实时查看抽取日志,类似Jenkins的日志控制台输出功能;
  • 4、DataX运行记录展示,可页面操作停止DataX作业;
  • 5、支持DataX定时任务,支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;
  • 6、调度采用中心式设计,支持集群部署;
  • 7、任务分布式执行,任务"执行器"支持集群部署;
  • 8、执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行;
  • 9、路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移、忙碌转移等;
  • 10、阻塞处理策略:调度过于密集执行器来不及处理时的处理策略,策略包括:单机串行(默认)、丢弃后续调度、覆盖之前调度;
  • 11、任务超时控制:支持自定义任务超时时间,任务运行超时将会主动中断任务;
  • 12、任务失败重试:支持自定义任务失败重试次数,当任务失败时将会按照预设的失败重试次数主动进行重试;
  • 13、任务失败告警;默认提供邮件方式失败告警,同时预留扩展接口,可方便的扩展短信、钉钉等告警方式;
  • 14、用户管理:支持在线管理系统用户,存在管理员、普通用户两种角色;
  • 15、任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
  • 16、运行报表:支持实时查看运行数据,以及调度报表,如调度日期分布图,调度成功分布图等;
  • 17、指定增量字段,配置定时任务自动获取每次的数据区间,任务失败重试,保证数据安全;
  • 18、页面可配置DataX启动JVM参数;
  • 19、数据源配置成功后添加手动测试功能;
  • 20、可以对常用任务进行配置模板,在构建完JSON之后可选择关联模板创建任务;
  • 21、jdbc添加hive数据源支持,可在构建JSON页面选择数据源生成column信息并简化配置;
  • 22、优先通过环境变量获取DataX文件目录,集群部署时不用指定JSON及日志目录;
  • 23、通过动态参数配置指定hive分区,也可以配合增量实现增量数据动态插入分区;
  • 24、任务类型由原来DataX任务扩展到Shell任务、Python任务、PowerShell任务;
  • 25、添加HBase数据源支持,JSON构建可通过HBase数据源获取hbaseConfig,column;
  • 26、添加MongoDB数据源支持,用户仅需要选择collectionName即可完成json构建;
  • 27、添加执行器CPU、内存、负载的监控页面;
  • 28、添加24类插件DataX JSON配置样例
  • 29、公共字段(创建时间,创建人,修改时间,修改者)插入或更新时自动填充
  • 30、对swagger接口进行token验证
  • 31、任务增加超时时间,对超时任务kill datax进程,可配合重试策略避免网络问题导致的datax卡死。
  • 32、添加项目管理模块,可对任务分类管理;
  • 33、对RDBMS数据源增加批量任务创建功能,选择数据源,表即可根据模板批量生成DataX同步任务;
  • 34、JSON构建增加ClickHouse数据源支持;
  • 35、执行器CPU.内存.负载的监控页面图形化;
  • 36、RDBMS数据源增量抽取增加主键自增方式并优化页面参数配置;
  • 37、更换MongoDB数据源连接方式,重构HBase数据源JSON构建模块;
  • 38、脚本类型任务增加停止功能;
  • 39、rdbms json构建增加postSql,并支持构建多个preSql,postSql;
  • 40、数据源信息加密算法修改及代码优化;
  • 41、日志页面增加DataX执行结果统计数据;

三、安装部署

官网安装教程

1、环境准备

在这里插入图片描述

2、Datax-web安装包准备

  • 官方提供的tar包
    官方链接,提取码:cpsk

  • 自己本地打包编译

    • 直接从Git上面获得源代码

      git clone https://gitee.com/WeiYe-Jing/datax-web.git
      
    • 进入项目源码根目录执行以下命令

      mvn clean install
      
    • 执行成功后将会在工程的build目录下生成安装包

      build/datax-web-{VERSION}.tar.gz
      
  • 开始部署

    • 上传到服务器指定目录,进行解压

      tar -zxvf datax-web-{VERSION}.tar.gz
      
    • 执行一键安装脚本
      进入解压后的目录,找到bin目录下面的install.sh文件,如果选择交互式的安装,则直接执行

      ./bin/install.sh
      
    • 在交互模式下,对各个模块的package压缩包的解压以及configure配置脚本的调用,都会请求用户确认,可根据提示查看是否安装成功,如果没有安装成功,可以重复尝试; 如果不想使用交互模式,跳过确认过程,则执行以下命令安装

      ./bin/install.sh --force
      
  • 数据库初始化及配置文件

    • 修改相关配置文件

      vi ./modules/datax-admin/conf/bootstrap.properties
      

      将注释放开配置数据库相关信息

      #Database
      #DB_HOST=
      #DB_PORT=
      #DB_USERNAME=
      #DB_PASSWORD=
      #DB_DATABASE=
      
    • 进入到此目录/bin/db/datax-web.sql脚本去手动执行
      相关sql

      SET NAMES utf8mb4;
      SET FOREIGN_KEY_CHECKS = 0;


      – Table structure for job_group


      DROP TABLE IF EXISTS job_group;
      CREATE TABLE job_group (
      id int(11) NOT NULL AUTO_INCREMENT,
      app_name varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘执行器AppName’,
      title varchar(12) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘执行器名称’,
      order int(11) NOT NULL DEFAULT 0 COMMENT ‘排序’,
      address_type tinyint(4) NOT NULL DEFAULT 0 COMMENT ‘执行器地址类型:0=自动注册、1=手动录入’,
      address_list varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘执行器地址列表,多地址逗号分隔’,
      PRIMARY KEY (id) USING BTREE
      ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;


      – Records of job_group


      INSERT INTO job_group VALUES (1, ‘datax-executor’, ‘datax执行器’, 1, 0, NULL);


      – Table structure for job_info


      DROP TABLE IF EXISTS job_info;
      CREATE TABLE job_info (
      id int(11) NOT NULL AUTO_INCREMENT,
      job_group int(11) NOT NULL COMMENT ‘执行器主键ID’,
      job_cron varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘任务执行CRON’,
      job_desc varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
      add_time datetime(0) NULL DEFAULT NULL,
      update_time datetime(0) NULL DEFAULT NULL,
      author varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘作者’,
      alarm_email varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘报警邮件’,
      executor_route_strategy varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘执行器路由策略’,
      executor_handler varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘执行器任务handler’,
      executor_param varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘执行器任务参数’,
      executor_block_strategy varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘阻塞处理策略’,
      executor_timeout int(11) NOT NULL DEFAULT 0 COMMENT ‘任务执行超时时间,单位秒’,
      executor_fail_retry_count int(11) NOT NULL DEFAULT 0 COMMENT ‘失败重试次数’,
      glue_type varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘GLUE类型’,
      glue_source mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT ‘GLUE源代码’,
      glue_remark varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘GLUE备注’,
      glue_updatetime datetime(0) NULL DEFAULT NULL COMMENT ‘GLUE更新时间’,
      child_jobid varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘子任务ID,多个逗号分隔’,
      trigger_status tinyint(4) NOT NULL DEFAULT 0 COMMENT ‘调度状态:0-停止,1-运行’,
      trigger_last_time bigint(13) NOT NULL DEFAULT 0 COMMENT ‘上次调度时间’,
      trigger_next_time bigint(13) NOT NULL DEFAULT 0 COMMENT ‘下次调度时间’,
      job_json text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT ‘datax运行脚本’,
      PRIMARY KEY (id) USING BTREE
      ) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;


      – Table structure for job_jdbc_datasource


      DROP TABLE IF EXISTS job_jdbc_datasource;
      CREATE TABLE job_jdbc_datasource (
      id bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘自增主键’,
      datasource_name varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘数据源名称’,
      datasource_group varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT ‘Default’ COMMENT ‘数据源分组’,
      jdbc_username varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘用户名’,
      jdbc_password varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘密码’,
      jdbc_url varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘jdbc url’,
      jdbc_driver_class varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘jdbc驱动类’,
      status tinyint(1) NOT NULL DEFAULT 1 COMMENT ‘状态:0删除 1启用 2禁用’,
      create_by varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘创建人’,
      create_date datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT ‘创建时间’,
      update_by varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘更新人’,
      update_date datetime(0) NULL DEFAULT NULL COMMENT ‘更新时间’,
      comments varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘备注’,
      PRIMARY KEY (id) USING BTREE
      ) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = ‘jdbc数据源配置’ ROW_FORMAT = Dynamic;


      – Table structure for job_lock


      DROP TABLE IF EXISTS job_lock;
      CREATE TABLE job_lock (
      lock_name varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘锁名称’,
      PRIMARY KEY (lock_name) USING BTREE
      ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;


      – Records of job_lock


      INSERT INTO job_lock VALUES (‘schedule_lock’);


      – Table structure for job_log


      DROP TABLE IF EXISTS job_log;
      CREATE TABLE job_log (
      id bigint(20) NOT NULL AUTO_INCREMENT,
      job_group int(11) NOT NULL COMMENT ‘执行器主键ID’,
      job_id int(11) NOT NULL COMMENT ‘任务,主键ID’,
      job_desc varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
      executor_address varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘执行器地址,本次执行的地址’,
      executor_handler varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘执行器任务handler’,
      executor_param varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘执行器任务参数’,
      executor_sharding_param varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘执行器任务分片参数,格式如 1/2’,
      executor_fail_retry_count int(11) NULL DEFAULT 0 COMMENT ‘失败重试次数’,
      trigger_time datetime(0) NULL DEFAULT NULL COMMENT ‘调度-时间’,
      trigger_code int(11) NOT NULL COMMENT ‘调度-结果’,
      trigger_msg text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT ‘调度-日志’,
      handle_time datetime(0) NULL DEFAULT NULL COMMENT ‘执行-时间’,
      handle_code int(11) NOT NULL COMMENT ‘执行-状态’,
      handle_msg text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT ‘执行-日志’,
      alarm_status tinyint(4) NOT NULL DEFAULT 0 COMMENT ‘告警状态:0-默认、1-无需告警、2-告警成功、3-告警失败’,
      process_id varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘datax进程Id’,
      max_id bigint(20) NULL DEFAULT NULL COMMENT ‘增量表max id’,
      PRIMARY KEY (id) USING BTREE,
      INDEX I_trigger_time(trigger_time) USING BTREE,
      INDEX I_handle_code(handle_code) USING BTREE
      ) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;


      – Table structure for job_log_report


      DROP TABLE IF EXISTS job_log_report;
      CREATE TABLE job_log_report (
      id int(11) NOT NULL AUTO_INCREMENT,
      trigger_day datetime(0) NULL DEFAULT NULL COMMENT ‘调度-时间’,
      running_count int(11) NOT NULL DEFAULT 0 COMMENT ‘运行中-日志数量’,
      suc_count int(11) NOT NULL DEFAULT 0 COMMENT ‘执行成功-日志数量’,
      fail_count int(11) NOT NULL DEFAULT 0 COMMENT ‘执行失败-日志数量’,
      PRIMARY KEY (id) USING BTREE,
      UNIQUE INDEX i_trigger_day(trigger_day) USING BTREE
      ) ENGINE = InnoDB AUTO_INCREMENT = 28 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;


      – Records of job_log_report


      INSERT INTO job_log_report VALUES (20, ‘2019-12-07 00:00:00’, 0, 0, 0);
      INSERT INTO job_log_report VALUES (21, ‘2019-12-10 00:00:00’, 77, 52, 23);
      INSERT INTO job_log_report VALUES (22, ‘2019-12-11 00:00:00’, 9, 2, 11);
      INSERT INTO job_log_report VALUES (23, ‘2019-12-13 00:00:00’, 9, 48, 74);
      INSERT INTO job_log_report VALUES (24, ‘2019-12-12 00:00:00’, 10, 8, 30);
      INSERT INTO job_log_report VALUES (25, ‘2019-12-14 00:00:00’, 78, 45, 66);
      INSERT INTO job_log_report VALUES (26, ‘2019-12-15 00:00:00’, 24, 76, 9);
      INSERT INTO job_log_report VALUES (27, ‘2019-12-16 00:00:00’, 23, 85, 10);


      – Table structure for job_logglue


      DROP TABLE IF EXISTS job_logglue;
      CREATE TABLE job_logglue (
      id int(11) NOT NULL AUTO_INCREMENT,
      job_id int(11) NOT NULL COMMENT ‘任务,主键ID’,
      glue_type varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘GLUE类型’,
      glue_source mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT ‘GLUE源代码’,
      glue_remark varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘GLUE备注’,
      add_time datetime(0) NULL DEFAULT NULL,
      update_time datetime(0) NULL DEFAULT NULL,
      PRIMARY KEY (id) USING BTREE
      ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;


      – Table structure for job_registry


      DROP TABLE IF EXISTS job_registry;
      CREATE TABLE job_registry (
      id int(11) NOT NULL AUTO_INCREMENT,
      registry_group varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
      registry_key varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
      registry_value varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
      update_time datetime(0) NULL DEFAULT NULL,
      PRIMARY KEY (id) USING BTREE,
      INDEX i_g_k_v(registry_group, registry_key, registry_value) USING BTREE
      ) ENGINE = InnoDB AUTO_INCREMENT = 26 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;


      – Table structure for job_user


      DROP TABLE IF EXISTS job_user;
      CREATE TABLE job_user (
      id int(11) NOT NULL AUTO_INCREMENT,
      username varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘账号’,
      password varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘密码’,
      role varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘角色:0-普通用户、1-管理员’,
      permission varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘权限:执行器ID列表,多个逗号分割’,
      PRIMARY KEY (id) USING BTREE,
      UNIQUE INDEX i_username(username) USING BTREE
      ) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;


      – Records of job_user


      INSERT INTO job_user VALUES (1, ‘admin’, ‘$2a$10$2KCqRbra0Yn2TwvkZxtfLuWuUP5KyCWsljO/ci5pLD27pqR3TV1vy’, ‘ROLE_ADMIN’, NULL);

      /**
      v2.1.1脚本更新
      /
      ALTER TABLE job_info
      ADD COLUMN replace_param VARCHAR(100) NULL DEFAULT NULL COMMENT ‘动态参数’ AFTER job_json,
      ADD COLUMN jvm_param VARCHAR(200) NULL DEFAULT NULL COMMENT ‘jvm参数’ AFTER replace_param,
      ADD COLUMN time_offset INT(11) NULL DEFAULT '0’COMMENT ‘时间偏移量’ AFTER jvm_param;
      /
      *
      增量改版脚本更新
      */
      ALTER TABLE job_info DROP COLUMN time_offset;
      ALTER TABLE job_info
      ADD COLUMN inc_start_time DATETIME NULL DEFAULT NULL COMMENT ‘增量初始时间’ AFTER jvm_param;


      – Table structure for job_template


      DROP TABLE IF EXISTS job_template;
      CREATE TABLE job_template (
      id int(11) NOT NULL AUTO_INCREMENT,
      job_group int(11) NOT NULL COMMENT ‘执行器主键ID’,
      job_cron varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘任务执行CRON’,
      job_desc varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
      add_time datetime(0) NULL DEFAULT NULL,
      update_time datetime(0) NULL DEFAULT NULL,
      user_id int(11) NOT NULL COMMENT ‘修改用户’,
      alarm_email varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘报警邮件’,
      executor_route_strategy varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘执行器路由策略’,
      executor_handler varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘执行器任务handler’,
      executor_param varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘执行器参数’,
      executor_block_strategy varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘阻塞处理策略’,
      executor_timeout int(11) NOT NULL DEFAULT 0 COMMENT ‘任务执行超时时间,单位秒’,
      executor_fail_retry_count int(11) NOT NULL DEFAULT 0 COMMENT ‘失败重试次数’,
      glue_type varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘GLUE类型’,
      glue_source mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT ‘GLUE源代码’,
      glue_remark varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘GLUE备注’,
      glue_updatetime datetime(0) NULL DEFAULT NULL COMMENT ‘GLUE更新时间’,
      child_jobid varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘子任务ID,多个逗号分隔’,
      trigger_last_time bigint(13) NOT NULL DEFAULT 0 COMMENT ‘上次调度时间’,
      trigger_next_time bigint(13) NOT NULL DEFAULT 0 COMMENT ‘下次调度时间’,
      job_json text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT ‘datax运行脚本’,
      jvm_param varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘jvm参数’,
      project_id int(11) NULL DEFAULT NULL COMMENT ‘所属项目Id’,
      PRIMARY KEY (id) USING BTREE
      ) ENGINE = InnoDB AUTO_INCREMENT = 22 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

      /**
      添加数据源字段
      */
      ALTER TABLE job_jdbc_datasource
      ADD COLUMN datasource VARCHAR(45) NOT NULL COMMENT ‘数据源’ AFTER datasource_name;

      /**
      添加分区字段
      */
      ALTER TABLE job_info
      ADD COLUMN partition_info VARCHAR(100) NULL DEFAULT NULL COMMENT ‘分区信息’ AFTER inc_start_time;

      /**
      2.1.1版本新增----------------------------------------------------------------------------------------------
      */

      /**
      最近一次执行状态
      */
      ALTER TABLE job_info
      ADD COLUMN last_handle_code INT(11) NULL DEFAULT ‘0’ COMMENT ‘最近一次执行状态’ AFTER partition_info;

      /**
      zookeeper地址
      */
      ALTER TABLE job_jdbc_datasource
      ADD COLUMN zk_adress VARCHAR(200) NULL DEFAULT NULL AFTER jdbc_driver_class;

      ALTER TABLE job_info
      CHANGE COLUMN executor_timeout executor_timeout INT(11) NOT NULL DEFAULT ‘0’ COMMENT ‘任务执行超时时间,单位分钟’ ;

      /**
      用户名密码改为非必填
      /
      ALTER TABLE job_jdbc_datasource
      CHANGE COLUMN jdbc_username jdbc_username VARCHAR(100) CHARACTER SET ‘utf8mb4’ NULL DEFAULT NULL COMMENT ‘用户名’ ,
      CHANGE COLUMN jdbc_password jdbc_password VARCHAR(200) CHARACTER SET ‘utf8mb4’ NULL DEFAULT NULL COMMENT ‘密码’ ;
      /
      *
      添加mongodb数据库名字段
      /
      ALTER TABLE job_jdbc_datasource
      ADD COLUMN database_name VARCHAR(45) NULL DEFAULT NULL COMMENT ‘数据库名’ AFTER datasource_group;
      /
      *
      添加执行器资源字段
      */
      ALTER TABLE job_registry
      ADD COLUMN cpu_usage DOUBLE NULL AFTER registry_value,
      ADD COLUMN memory_usage DOUBLE NULL AFTER cpu_usage,
      ADD COLUMN load_average DOUBLE NULL AFTER memory_usage;


      – Table structure for job_permission


      DROP TABLE IF EXISTS job_permission;
      CREATE TABLE job_permission (
      id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主键’,
      name varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT ‘权限名’,
      description varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘权限描述’,
      url varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
      pid int(11) NULL DEFAULT NULL,
      PRIMARY KEY (id) USING BTREE
      ) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

      ALTER TABLE job_info
      ADD COLUMN replace_param_type varchar(255) NULL COMMENT ‘增量时间格式’ AFTER last_handle_code;

      ALTER TABLE job_info
      ADD COLUMN project_id int(11) NULL COMMENT ‘所属项目id’ AFTER job_desc;

      ALTER TABLE job_info
      ADD COLUMN reader_table VARCHAR(255) NULL COMMENT ‘reader表名称’ AFTER replace_param_type,
      ADD COLUMN primary_key VARCHAR(50) NULL COMMENT ‘增量表主键’ AFTER reader_table,
      ADD COLUMN inc_start_id VARCHAR(20) NULL COMMENT ‘增量初始id’ AFTER primary_key,
      ADD COLUMN increment_type TINYINT(4) NULL COMMENT ‘增量类型’ AFTER inc_start_id,
      ADD COLUMN datasource_id BIGINT(11) NULL COMMENT ‘数据源id’ AFTER increment_type;

      CREATE TABLE job_project (
      id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘key’,
      name varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT ‘project name’,
      description varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
      user_id int(11) NULL DEFAULT NULL COMMENT ‘creator id’,
      flag tinyint(4) NULL DEFAULT 1 COMMENT ‘0 not available, 1 available’,
      create_time datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT ‘create time’,
      update_time datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT ‘update time’,
      PRIMARY KEY (id) USING BTREE
      ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

      ALTER TABLE job_info
      CHANGE COLUMN author user_id INT(11) NOT NULL COMMENT ‘修改用户’ ;

      ALTER TABLE job_info
      CHANGE COLUMN increment_type increment_type TINYINT(4) NULL DEFAULT 0 COMMENT ‘增量类型’ ;

  • 修改项目相关配置
    在项目目录下/modules/datax-execute/bin/env.properties 指定PYTHON_PATH的路径

    vi ./modules/{module_name}/bin/env.properties### 执行datax的python脚本地址
    # 我的配置地址是这样,修改成自己的datax地址
    PYTHON_PATH=/mnt/datax/bin/datax.py### 保持和datax-admin服务的端口一致;默认是9527,如果没改datax-admin的端口,可以忽略
    DATAX_ADMIN_PORT=
    
  • 启动服务

    • 一键启动所有服务,执行以下命令

      ./bin/start-all.sh
      
    • 中途可能发生部分模块启动失败或者卡住,可以退出重复执行,如果需要改变某一模块服务端口号,则:

      vi ./modules/{module_name}/bin/env.properties
      
    • 找到SERVER_PORT配置项,改变它的值即可。 当然也可以单一地启动某一模块服务:

      ./bin/start.sh -m {module_name}
      
    • 一键取消所有服务

      ./bin/stop-all.sh
      
    • 当然也可以单一地停止某一模块服务:

      ./bin/stop.sh -m {module_name}
      
  • 查看服务(注意!注意!)

    • 在Linux环境下使用JPS命令,查看是否出现DataXAdminApplication和DataXExecutorApplication进程,如果存在这表示项目运行成功

    • 如果项目启动失败,请检查启动日志:modules/datax-admin/bin/console.out或者modules/datax-executor/bin/console.out

  • 访问datax web地址
    部署完成后,在浏览器中输入 http://ip:port/index.html 就可以访问对应的主界面(ip为datax-admin部署所在服务器ip,port为为datax-admin 指定的运行端口)
    输入用户名 admin 密码 123456 就可以直接访问系统
    出现以下界面说明项目可以正常访问
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/489046.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

node-js Express中间件

中间件介绍 什么是中间件 中间件其本质就是一个回调函数,可以像路由一样访问请求对象(request)和响应对象(response)。中间件的作用是什么 通过函数封装公共操作,简化代码中间件类型 - 全局中间件 - 路由中…

【数学】矩阵的逆与伪逆 EEGLAB

文章目录 前言matlab代码作用EEGLAB 中的代码总结参考文献 前言 在 EEGLAB 的使用中,运行程序时出现了矩阵接近奇异值,或者缩放错误。结果可能不准确。RCOND 1.873732e-20 的 bug,调查 EEGLAB 后发现是 raw 数据的问题。 matlab代码 A_1 …

TCP 的三次握手与四次挥手

TCP 的三次握手与四次挥手 TCP 协议,使用 TCP 的三次握手建立连接,使用四次挥手断开连接。 我们先看看基本的计算机网络中的TCP连接建立和断开的过程。 1.HTTP 三次握手 HTTP 的三次握手过程如下: 第一次握手(SYN)…

解锁前端开发速度的秘密武器【Vite】

在前端开发的江湖中,有人偏爱 Webpack 的强大与稳定,有人钟情于 Rollup 的轻量与高效。而 Vite,这个后来居上的工具,却以“极致的快”和“极简的易”赢得了开发者的芳心。众所周知万事都有缘由,接下来我们就来深度剖析…

【动态库.so | 头文件.hpp】基于CMake与CMakeList编写C++自定义库

前言 最近比较忙,其他系列教程得等到年后一起更!请大家多多包涵!!相信各位在配置C环境和各类库的时候一定经常看到如下小连招 git clone https://github.com/opencv/opencv.git cd opencv mkdir build && cd build cma…

前端编辑器JSON HTML等,vue2-ace-editor,vue3-ace-editor

与框架无关 vue2-ace-editor有问题&#xff0c;ace拿不到&#xff08;brace&#xff09; 一些组件都是基于ace-builds或者brace包装的 不如直接用下面的&#xff0c;不如直接使用下面的 <template><div ref"editor" class"json-editor"><…

SpringMVC框架——入门

目录 一、三层框架和MVC 1. 三层架构 2. MVC模型 二、SpringMVC入门案例 1. SpringMVC的概述 2. SpringMVC的入门程序 3. 入门案例的执行过程分析 4. RequestMapping注解 一、三层框架和MVC 1. 三层架构 开发服务器端程序&#xff0c;一般都基于两种形式&#xff0c;一…

港口智慧应急管理平台:应急先锋,港航卫士

在风云变幻的港航世界&#xff0c;安全是永恒的基石。港口智慧应急管理平台宛如一位无畏的先锋&#xff0c;以智能化、数字化、信息化为利刃&#xff0c;借助 AI 与大数据的神奇力量&#xff0c;为港口保驾护航。 传统应急管理往往在事故发生后被动响应&#xff0c;而此平台却…

Prime2_解法二:openssl解密凭据

Prime2_解法二&#xff1a;openssl解密凭据 本博客提供的所有信息仅供学习和研究目的&#xff0c;旨在提高读者的网络安全意识和技术能力。请在合法合规的前提下使用本文中提供的任何技术、方法或工具。如果您选择使用本博客中的任何信息进行非法活动&#xff0c;您将独自承担全…

恢复删除的文件:6个免费Windows电脑数据恢复软件

数据恢复软件可帮助您从众多存储设备中恢复损坏或删除的数据。您可以使用这些文件恢复软件来检索文件、文档、视频、图片等。这些应用程序支持多种标准文件格式&#xff0c;如 PNG、RTF、PDF、HTML、JPG、MP3 等。 经过超过 75 小时的研究&#xff0c;我分析了 25 最佳免费数据…

爬虫自动化之drissionpage+SwitchyOmega实现随时切换代理ip

本文介绍了如何使用DrizzlePage进行爬虫自动化,并重点讲解了首次启动时设置代理IP以及通过SwitchyOmega插件实现随时切换代理IP的方法。 安装一次,后面调用就不会再去安装了 下载地址:https://github.com/FelisCatus/SwitchyOmega/releases 这两个文件随便那个都可以,下载…

今天你学C++了吗?——C++中的类与对象(日期类的实现)——实践与知识的碰撞❤

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…

kafka进阶_4.kafka扩展

文章目录 一、Controller选举二、Kafka集成2.1、大数据应用场景2.1.1、Flume集成2.1.2、Spark集成2.1.3、Flink集成 2.2、Java应用场景(SpringBoot集成) 三、Kafka常见问题3.1、Kafka都有哪些组件&#xff1f;3.2、分区副本AR, ISR, OSR的含义&#xff1f;3.3、Producer 消息重…

Flink Python作业快速入门

Flink Python快速入门_实时计算 Flink版(Flink)-阿里云帮助中心 import argparse # 用于处理命令行参数和选项&#xff0c;使程序能够接收用户通过命令行传递的参数 import logging import sysfrom pyflink.common import WatermarkStrategy, Encoder, Types from pyflink.data…

前端(五)css属性

css属性 文章目录 css属性一、字体属性二、文本属性三、背景属性四、盒子模型 一、字体属性 font-weight&#xff1a;文字粗细&#xff0c;在100到900之间&#xff0c;normal(400),bord(700),inherit(继承父类) font-style&#xff1a;文字风格&#xff0c;normal表示正常(默认…

nginx反向代理(负载均衡)和tomcat介绍

nginx的代理 负载均衡 负载均衡的算法 负载均衡的架构 基于ip的七层代理 upstream模块要写在http模块中 七层代理的调用要写在location模块中 轮询 加权轮询 最小连接数 ip_Hash URL_HASH 基于域名的七层代理 配置主机 给其余客户机配置域名 给所有机器做域名映射 四层代理…

ansible自动化运维(二)playbook模式详解

相关文章ansible自动化运维&#xff08;一&#xff09;简介及清单,模块-CSDN博客ansible自动化运维&#xff08;三&#xff09;jinja2模板&&roles角色管理-CSDN博客ansible自动化运维&#xff08;四&#xff09;运维实战-CSDN博客 一.Ansible中的playbook模式 Playbo…

验证码功能实现

预览: 前端代码 让图片src 产生验证码图片的servlet <img src""></img> servlet代码 public void checkCode(HttpServletRequest request, HttpServletResponse response) throws IOException {ServletOutputStream os response.getOutputStream()…

Redis的哨兵机制

目录 1. 文章前言2. 基本概念2.1 主从复制的问题2.2 人工恢复主节点故障2.3 哨兵机制自动恢复主节点故障 3. 安装部署哨兵&#xff08;基于docker&#xff09;3.1 安装docker3.2 编排redis主从节点3.3 编排redis-sentinel节点 4. 重新选举5. 选举原理6. 总结 1. 文章前言 &…

Java:集合(List、Map、Set)

文章目录 1. Collection集合1-1. 迭代器遍历方式1-2. 通过for循环进行遍历1-3. forEach遍历 2. List集合2-1. ArrayList底层实现原理2-2. LinkedList底层实现原理 3. Set集合3-1. HashSet 底层实现3-2. LinkedHashSet 底层实现3-3. TreeSet 4. Collection集合->总结5. Map集…