• DataX和dataX-web 集群部署及使用


    📑 DataX和dataX-web 集群部署及使用

    一 . 安装前准备

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

    DataX 采用 框架 + 插件 的模式:

    • 插件只需关心数据的读取或者写入本身
    • 同步时的共性问题,如 类型转换,性能,统计 由框架来处理

    开发插件时 只需要关注两个问题:

    • 数据源本身读写的数据正确性
    • 如何与框架沟通,合理正确地使用框架

    逻辑执行模型:

    • Job:是DataX描述一个源头到一个目的端的同步作业,是DataX数据同步的最小业务单元。如将一张mysql表同步到odps一个表的分区
    • Task:是Job拆分得到的最小执行单元。如在同步一张1024哥分表的mysql分库分表的Job时,就可拆分成1024个读Task并发执行
    • TaskGroup:一组Task集合,在同一个TaskGroupContainer执行下的Task集合
    • JobContainer:Job执行器,负责job全局拆分,调度,前置语句和后置语句等工作的工作单元。类似Yarn中的JobTracker 调度Job的每一个子任务task运行于TaskTracker上
    • TaskGroupContainer:TaskGroup的执行器,负责一组Task的工作单元。类似Yarn中的TaskTrackerTaskTracker主动与JobTracker通信,接收作业,并负责直接执行每一个任务。

    框架为插件提供物理上的执行能力(线程)。框架有三种运行模式

    • Standalone:单线程运行,没有外部依赖
    • Local:单线程运行,统计信息,错误信息汇报到集中存储
    • Distributed:分布式多线程运行,依赖 DataX Service 服务

    当 JobContainer和TaskGroupContainer 运行在同一个进程内时,就是单机模式(Standalone和local);当他们分布在不同的进程中执行就是分布式(distributed)

    datax-web 集群部署时单独起某一个功能 ./bin/start.sh -m datax-executor

    datax二次开发

    datax源码学习

    datax二次开发打包

    dataX、dataX-web安装部署 dataX集群模式

    二 . 配置datax和datax-web

    1 安装dataX

    使用源码自定义打包

    链接 datax 源码

     mvn -U clean package assembly:assembly -Dmaven.test.skip=true
    
    • 1

    路径在 /target/datax/datax/ 下面

    (需要python环境及maven环境)

    #测试命令
    python bin/datax.py job/job.json 
    
    • 1
    • 2

    在这里插入图片描述

    ps.如果是自己新增插件 需要修改项目中的 package.xmlpom.xml

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    2 安装datax-web

    https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/datax-web-deploy.md

    https://github.com/WeiYe-Jing/datax-web/blob/master/userGuid.md

    datax-web集群部署 一个datax-web和多个datax-executor。确认datax安装的路径都是一样

    启动datax-executor命令

    ./bin/stop.sh -m datax-executor
    
    • 1

    在这里插入图片描述

    在这里插入图片描述

    通过 module 下的 bin 下的日志能查到日志文件

    在这里插入图片描述

    1、通过界面的执行器管理能查到

    在这里插入图片描述

    2、data-web使用

    data-web 的任务构建是负责自动生成dataX用的json文件,如果已经有json文件 就不需要使用。

    3、data-web简要使用
    • 新建项目管理

    在这里插入图片描述

    • 查看执行器管理
      在这里插入图片描述

    • 新建 任务管理
      在这里插入图片描述

    • 执行任务、查看日志

    在这里插入图片描述

    在这里插入图片描述

    4、报错小记

    在读mysql报错
    在这里插入图片描述

    在jdbc url增加配置 在没有服务器身份验证的情况下建立SSL连接\设置useSSL=false来显式禁用SSL

    jdbc:mysql://hostname:port/tsp-cloud?useSSL=false&useUnicode=true&characterEncoding=utf8
    
    • 1

    rl增加配置 在没有服务器身份验证的情况下建立SSL连接\设置useSSL=false来显式禁用SSL

    jdbc:mysql://hostname:port/tsp-cloud?useSSL=false&useUnicode=true&characterEncoding=utf8
    
    • 1
  • 相关阅读:
    启动 Nginx.exe出现闪退的问题
    新手面试官需要做好哪些工作
    自定义 View 可以播放一段视频
    计算机毕业设计---基于SSM的即动运动网站
    面试题:说说Java并发运行中的一些安全问题
    Gitee配置静态页面
    使用vcpkg管理依赖第三库
    HBase概念入门
    Django视图与路由:打造你的网络帝国
    Selenium关于内容信息的获取读取
  • 原文地址:https://blog.csdn.net/qq_42496461/article/details/133611089