简介

  1. 异构数据源离线同步工具
  2. 支持数据库(Mysql、Oracle、HDFS、Hive、ODPS、HBase、FTP等)
  • 框架设计思路

Framework + Plugin,将数据源读取和写入抽象为 Reader\Writer 插件,纳入到整个同步框架

Reader: 数据采集模块,将采集的数据源的数据发送到 Framework
Writer: 数据写入模块,不断从 Framework 取数据,并将数据写入到目的端
Framework: 连接 Reader\Writer 作为两者的数据传输通道,并处理缓冲、流控、并发及数据转换等

  • 支持数据

DataX数据源参考指南

安装、测试

  1. 下载包

  2. 解压缩,运行 cmd > python bin/datax.py ../job/job.json

  • 支持 pyhton3 运行

    bin 目录替换 datax.py、dxprof.py、perftrace.py

  • 中文乱码问题

    cmd > CHCP 65001

核心优势

核心模块

一. 可靠的数据质量监控
二. 丰富的数据转换功能
三. 精准的速度控制
四. 强劲的同步性能
五. 健壮的容错机制
六. 线程级别重试

DataX Web

datax web 架构图

Linux 部署

  • 解压安装包

    tar -zxvf datax-web-2.1.2.tar.gz

  • 执行一键安装脚本

    ./bin/install.sh ./bin/install.sh –force(跳过确认过程)

  • 数据库初始化

    系统安装 mysql 服务命令,数据库会自动完成初始化
    手动执行:/bin/db/datax-web.sql

           mysql -uroot -p123456 -D dataxweb < datax_web.sql  执行
           sed -i "s/datetime(0)/timestamp/g" datax_web.sql   替换

    完成初始化后修改相关配置:vi ./modules/datax-admin/conf/bootstrap.properties

      #Database
      #DB_HOST=
      #DB_PORT=
      #DB_USERNAME=
      #DB_PASSWORD=
      #DB_DATABASE=

    **mysql 5.5+ ** 不然会报错:timestamp 唯一、datetime default 不支持

  • 配置

    /modules/datax-admin/bin/env.properties 配置邮件服务(可跳过)

      MAIL_USERNAME=""
      MAIL_PASSWORD=""

    /modules/datax-execute/bin/env.properties 指定python-path路径

      ### 执行datax的python脚本地址
      PYTHON_PATH=
      ### 保持和datax-admin服务的端口一致;默认是9527,如果没改datax-admin的端口,可以忽略
      DATAX_ADMIN_PORT=
  • 启动服务

    ./bin/start-all.sh
    ./bin/stop-all.sh
    JPS 命令,查看DataXAdminApplication和DataXExecutorApplication进程,存在表示项目运行成功

  • 运行

    ip:9527/index.html admin/123456

windows 部署

datax-executor 拷贝到 windows 目录

cmd > /usr/lib/jvm/java-1.8.0-openjdk/bin/java -Xms2g -Xmx2g -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:HeapDumpPath=/home/morr/datax-web-2.1.2/modules/datax-executor/bin/../logs -Dlog.path=/home/morr/datax-web-2.1.2/modules/datax-executor/bin/../logs -Duser.dir=/home/morr/datax-web-2.1.2/modules/datax-executor/bin/../ -Dserver.port=9504 -Ddata.path=/home/morr/datax-web-2.1.2/modules/datax-executor/bin/../data -Dexecutor.port=9999 -Djson.path=/home/morr/datax-web-2.1.2/modules/datax-executor/bin/../json -Dpython.path=/home/morr/datax/bin/datax.py -Ddatax.admin.port=9527 -Dlogging.config=/home/morr/datax-web-2.1.2/modules/datax-executor/bin/../conf/logback.xml -classpath /home/morr/datax-web-2.1.2/modules/datax-executor/bin/../lib/*:/home/morr/datax-web-2.1.2/modules/datax-executor/bin/../conf:. com.wugui.datax.executor.DataXExecutorApplication

参考文档