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

news2025/1/25 2:25:05
文章目录
  • 一、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.coloradmin.cn/o/2281722.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spark Streaming编程基础

文章目录 1. 流式词频统计1.1 Spark Streaming编程步骤1.2 流式词频统计项目1.2.1 创建项目1.2.2 添加项目依赖1.2.3 修改源目录1.2.4 添加scala-sdk库1.2.5 创建日志属性文件 1.3 创建词频统计对象1.4 利用nc发送数据1.5 启动应用,查看结果 2. 编程模型的基本概念3…

最新-CentOS 7 基于1 Panel面板安装 JumpServer 堡垒机

CentOS 7 基于1 Panel面板安装 JumpServer 堡垒机 一、前言二、设备要求三、环境要求四、安装4.1 环境安装4.2 JumpServer安装4.3 访问JumpServerWeb端,进行登录 五、登录Web控制台 一、前言 JumpServer是广受欢迎的开源堡垒机。运维必备神器!JumpServe…

【电脑无法通过鼠标和键盘唤醒应该怎么办】

【电脑无法通过鼠标和键盘唤醒应该怎么办】 方法一(有时候不起作用):方法二(方法一无效时,使用方法二): 方法一(有时候不起作用): 方法二(方法一无效时,使用方法二):

python学习笔记2-简单数据类型

不同类型的变量可以进⾏的运算是不同的,所以必须理解变量的类型,python中数据类型可以分为: Number(数值) 整型(int) python3中只有int⼀种,可以表⽰整数,例如&#xf…

iOS开发设计模式篇第二篇MVVM设计模式

目录 一、什么是MVVM 二、MVVM 的主要特点 三、MVVM 的架构图 四、MVVM 与其他模式的对比 五、如何在iOS中实现MVVM 1.Model 2.ViewModel 3.View (ViewController) 4.双向绑定 5.文中完整的代码地址 六、MVVM 的优缺点 1.优点 2.缺点 七、MVVM 的应用场景 八、结…

Kafak 单例生产者实现-C#操作

前面写了一篇入门操作的文章,因为工作需要,简单修改了下如何实现单例生产者。 Kafka入门-C#操作_c# kafka-CSDN博客文章浏览阅读1.6k次,点赞20次,收藏9次。2).报错:“kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection while in state…

JAVA与数据结构-线性表

目录 一.线性表的概念 二.线性表的关系及分类 三.数组与顺序表 四.链表 1.静态链表(链表的的数组底层实现) 2.循环链表 3.双向链表 五.栈 1.栈的概念 2.栈的底层实现 3.共享空间栈 4.逆波兰表达式(后缀表达式) 5.栈与递归 六.…

2024.1.22 安全周报

政策/标准/指南最新动态 01 工信部印发《关于加强互联网数据中心客户数据安全保护的通知》 原文: https://www.secrss.com/articles/74673 互联网数据中心作为新一代信息基础设施,承载着千行百业的海量客户数据,是关系国民经济命脉的重要战略资源。…

WPS数据分析000005

目录 一、数据录入技巧 二、一维表 三、填充柄 向下自动填充 自动填充选项 日期填充 星期自定义 自定义序列 1-10000序列 四、智能填充 五、数据有效性 出错警告 输入信息 下拉列表 六、记录单 七、导入数据 ​编辑 八、查找录入 会员功能 Xlookup函数 VL…

如何使用 Node.js 构建一个简单的 API?

如何使用 Node.js 构建一个简单的 API? 在现代 Web 开发中,构建高效的 API 是连接前端与后端的核心任务之一。本文将向您展示如何使用 Node.js 构建一个简单的 API,同时通过示例说明如何测试 API。 步骤一:安装 Node.js 和创建项…

StarRocks强大的实时数据分析

代码仓库:https://github.com/StarRocks/starrocks?tabreadme-ov-file StarRocks | A High-Performance Analytical Database 快速开始:StarRocks | StarRocks StarRocks 是一款高性能分析型数据仓库,使用向量化、MPP 架构、CBO、智能物化…

详解Redis的Zset类型及相关命令

目录 Zset简介 ZADD ZCARD ZCOUNT ZRANGE ZREVRANGE ZRANGEBYSCORE ZPOPMAX BZPOPMAX ZPOPMIN BZPOPMIN ZRANK ZREVRANK ZSCORE ZREM ZREMRANGEBYRANK ZREMRANGEBYSCORE ZINCRBY ZINTERSTORE 内部编码 应用场景 Zset简介 有序集合相对于字符串、列表、哈希…

Android实训十 数据存储和访问

实训10 数据存储和访问 一、【实训目的】 1、 SharedPreferences存储数据; 2、 借助Java的I/O体系实现文件的存储, 3、使用Android内置的轻量级数据库SQLite存储数据; 二、【实训内容】 1、实现下图所示的界面,实现以下功能: 1&#x…

在Unity中使用大模型进行离线语音识别

文章目录 1、Vosk下载下载vosk-untiy-asr下载模型在项目中使用语音转文字音频转文字2、whisper下载下载unity项目下载模型在unity中使用1、Vosk 下载 下载vosk-untiy-asr Github链接:https://github.com/alphacep/vosk-unity-asr 进不去Github的可以用网盘 夸克网盘链接:h…

华为支付接入规范

为了确保用户获得良好的支付体验,Payment Kit制定了相关接入设计规范,请开发者遵照执行,具体要求(非强制性)如下: 一、支付方式呈现 涉及支付公司名称,请统一使用:花瓣支付&#xff…

数据结构——实验八·学生管理系统

嗨~~欢迎来到Tubishu的博客🌸如果你也是一名在校大学生,正在寻找各种编程资源,那么你就来对地方啦🌟 Tubishu是一名计算机本科生,会不定期整理和分享学习中的优质资源,希望能为你的编程之路添砖加瓦⭐&…

【C++篇】红黑树封装 实现map和set

目录 前言: 一,库中map和set的大致结构 二,模拟实现 2.1,大致框架 2.2,复用红黑树实现insert接口 2.3,迭代器iterator的实现 operator()的实现: operator--()的实现: 对inser…

解决CentOS9系统下Zabbix 7.2图形中文字符乱码问题

操作系统:CentOS 9 Zabbix版本:Zabbix7.2 问题描述:主机图形中文字符乱码 解决方案: # 安装字体配置和中文语言包 sudo yum install -y fontconfig langpacks-zh_CN.noarch # 检查是否已有中文字体: fc-list :lan…

统计文本文件中单词频率的 Swift 与 Bash 实现详解

网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…

计算机网络 (57)改进“尽最大努力交付”的服务

前言 计算机网络中的“尽最大努力交付”服务是网络层的一种数据传输方式。这种服务的特点是网络层只负责尽力将数据报从源端传输到目的端,而不保证数据传输的可靠性。 一、标记与分类 为数据分组打上标记: 给不同性质的分组打上不同的标记&#x…