DataX Web安装部署及应用

文章目录

    • [第六章 DataX-Web](#第六章 DataX-Web)
      • [6.1. datax-web介绍](#6.1. datax-web介绍)
        • [6.1.1. datax-web是什么](#6.1.1. datax-web是什么)
        • [6.1.2. datax-web架构](#6.1.2. datax-web架构)
      • [6.2. datax-web安装部署](#6.2. datax-web安装部署)
      • [6.3. datax-web任务部署](#6.3. datax-web任务部署)
        • [6.3.1. 创建项目](#6.3.1. 创建项目)
        • [6.3.2. 执行器管理](#6.3.2. 执行器管理)
        • [6.3.3. 创建数据源](#6.3.3. 创建数据源)
          • [6.3.3.1. mysql数据源](#6.3.3.1. mysql数据源)
          • [6.3.3.2. hive数据源](#6.3.3.2. hive数据源)
        • [6.3.4. 创建任务模板](#6.3.4. 创建任务模板)
        • [6.3.5. 任务创建](#6.3.5. 任务创建)
          • [6.3.5.1. 构建reader](#6.3.5.1. 构建reader)
          • [6.3.5.2. 构建writer](#6.3.5.2. 构建writer)
          • [6.3.5.3. 设置字段映射](#6.3.5.3. 设置字段映射)
          • [6.3.5.4. 构建](#6.3.5.4. 构建)
        • [6.3.6. 批量任务创建](#6.3.6. 批量任务创建)
          • [6.3.6.1. 构建reader](#6.3.6.1. 构建reader)
          • [6.3.6.2. 构建writer](#6.3.6.2. 构建writer)
          • [6.3.6.3. 字段映射](#6.3.6.3. 字段映射)
      • [6.4. datax-web任务管理](#6.4. datax-web任务管理)

第六章 DataX-Web

6.1. datax-web介绍

6.1.1. datax-web是什么

项目地址: https://github.com/WeiYe-Jing/datax-web

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

任务"执行器"支持集群部署,支持执行器多节点路由策略选择,支持超时控制、失败重试、失败告警、任务依赖,执行器CPU、内存、负载的监控等等。

6.1.2. datax-web架构

6.2. datax-web安装部署

6.2.1. 环境要求
环境 要求
操作系统 mac、Windows、Linux
Java Java8,jdk的版本建议在1.8.201以上
Python 如果没有替换DataX的bin目录下的Python文件:Python 2.7 如果替换了DataX的bin目录下的Python文件:Python 3
MySQL MySQL 5.7+
Maven Apache Maven 3.6.1+,编译安装包需要
DataX DataX 3
6.2.2. 安装
二进制安装

直接将安装包下载下来,解压安装到指定的路径即可

shell 复制代码
tar -zxvf datax-web-2.1.2.tar.gz -C /usr/local
编译打包

目的是为了编译生成安装包文件

  1. datax-web 解压到任意目录下,并使用 cd 命令进入到这个目录。
  2. 使用 mvn clean install 使用Maven下载依赖的包,并编译打包文件。
  3. 完成之后,将会在源码包的 build 目录下生成 datax-web-2.1.2.tar.gz 文件。
  4. 解压到 /usr/local 目录下。
6.2.3. 部署
解压安装包

解压 data-web 的安装包,如果上面已经解压过了,跳过

shell 复制代码
tar -zxvf datax-web-2.1.2.tar.gz -C /usr/local
执行一键安装的脚本

进入解压后的目录,找到 bin 目录下面的 install.sh 文件,如果选择交互式的安装,则直接执行

复制代码
./bin/install.sh

在交互式安装模式下,将会对各个模块的package压缩包进行解压以及configure配置脚本的使用,都会请求用户确认,可以根据提示查看是否安装成功,如果没有安装成功,可以重复尝试。

如果不想使用交互模式,跳过确认的过程,可以执行下面的命令进行安装

复制代码
./bin/install.sh --force
元数据库初始化

datax-web需要将一些元数据信息保存到数据库中,在安装的时候,如果你的服务器上安装有 mysql 命令,在执行脚本安装的过程中,会有重要的提醒:

shell 复制代码
Scan out mysql command, so begin to initalize the database
Do you want to initalize database with sql: [{INSTALL_PATH}/bin/db/datax-web.sql]? (Y/N)y
Please input the db host(default: 127.0.0.1): 
Please input the db port(default: 3306): 
Please input the db username(default: root): 
Please input the db password(default: ): 
Please input the db name(default: exchangis)

安装输入提示数据库地址、端口号、用户名、密码以及数据库名称,大部分情况下即可快速完成初始化。如果服务器上并没有mysql命令,则可以使用 $DATAX_HOME/bin/datax-web.sql 脚本去手动执行,完成后修改相关配置文件即可。

shell 复制代码
vim /usr/local/datax-web/modules/datax-admin/conf/boopstrap.properties
复制代码
#Database
#DB_HOST=
#DB_PORT=
#DB_USERNAME=
#DB_PASSWORD=
#DB_DATABASE=
配置

安装完成之后,在项目目录: /modules/datax-admin/bin/env.properties 配置邮件服务(可跳过)

复制代码
MAIL_USERNAME=""
MAIL_PASSWORD=""

此文件中包括一些默认配置参数,例如:server.port,具体请查看文件。

在项目目录下 /modules/datax-execute/bin/env.properties 指定PYTHON_PATH的路径

复制代码
vi ./modules/{module_name}/bin/env.properties

### 执行datax的python脚本地址
PYTHON_PATH=

### 保持和datax-admin服务的端口一致;默认是9527,如果没改datax-admin的端口,可以忽略
DATAX_ADMIN_PORT=

此文件中包括一些默认配置参数,例如:executor.port,json.path,data.path等,具体请查看文件。

启动

一键启动所有服务

复制代码
./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

WebUI

部署完成后,在浏览器中输入 http://ip:9527/index.html 就可以访问对应的主界面(ip为datax-admin部署所在服务器ip,port为为datax-admin 指定的运行端口)

输入用户名 admin 密码 123456 就可以直接访问系统

6.3. datax-web任务部署

6.3.1. 创建项目
6.3.2. 执行器管理

在这里会列举所有在线的Executor列表

6.3.3. 创建数据源
6.3.3.1. mysql数据源
6.3.3.2. hive数据源

datax-web是通过ThriftServer连接到Hive的。因此需要保证Hive的 hiveserver2 服务是开启的状态。

6.3.4. 创建任务模板
6.3.5. 任务创建
6.3.5.1. 构建reader
6.3.5.2. 构建writer
6.3.5.3. 设置字段映射
6.3.5.4. 构建
6.3.6. 批量任务创建
6.3.6.1. 构建reader
6.3.6.2. 构建writer
6.3.6.3. 字段映射

6.4. datax-web任务管理