大数据 DataX-Web 详细安装教程

Stars.Sky 2024-06-11 09:33:02 阅读 81

目录

一、DataX-Web 介绍

1.1 DataX-Web 是什么

1.2 DataX-Web 架构

二、DataX-Web 安装部署 

2.1 环境要求

2.2 安装

2.3 部署

2.4 数据库初始化

2.5 配置

2.6 启动服务

2.6.1 一键启动所有服务

2.6.2 一键取消所有服务

2.7 查看服务(注意!注意!)

2.8 访问 Web UI

2.9 运行日志

三、DataX-Web 任务部署

3.1 创建项目

3.2 执行器管理

3.3 创建数据源

3.3.1 mysql 数据源

3.3.2 hive 数据源

3.4 创建任务模板

3.5 任务创建

3.5.1 构建 reader

3.5.2 构建 writer

3.5.3 设置字段映射

3.5.4 构建

四、DataX-Web 任务管理


 

一、DataX-Web 介绍

1.1 DataX-Web 是什么

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

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

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

1.2 DataX-Web 架构

二、DataX-Web 安装部署 

2.1 环境要求

环境 要求
操作系统 mac、Windows、Linux
Java Java8,jdk 的版本建议在 1.8.201 以上
Python

Python (2.x) (支持 Python3 需要修改替换 datax/bin 下面的三个 python 文件,替换文件在doc/datax-web/datax-python3 下) 必选,主要用于调度执行底层 DataX 的启动脚本,默认的方式是以 Java 子进程方式执行 DataX,用户可以选择以 Python 方式来做自定义的改造

MySQL MySQL 5.7+
Maven Apache Maven 3.6.1+,编译安装包需要(可选)
DataX DataX 3

对应的基础环境可以查看这篇文章安装:大数据 DataX 详细安装教程-CSDN博客 

2.2 安装

        直接将安装包下载下来(下载地址:https://pan.baidu.com/s/13yoqhGpD00I82K4lOYtQhg,提取码:cpsk),解压安装到指定的路径即可:

(base) [root@hadoop03 ~]# lsdatax-web-2.1.2.tar.gz(base) [root@hadoop03 ~]# tar -zxvf datax-web-2.1.2.tar.gz -C /usr/local/

2.3 部署

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

(base) [root@hadoop03 ~]# cd /usr/local/datax-web-2.1.2/(base) [root@hadoop03 /usr/local/datax-web-2.1.2]# ./bin/install.sh

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

./bin/install.sh --force

2.4 数据库初始化

如果你的本地服务上安装有 mysql 命令,在执行安装脚本的过程中则会出现以下提醒:

Scan out mysql command, so begin to initalize the databaseDo you want to initalize database with sql: [{INSTALL_PATH}/bin/db/datax-web.sql]? (Y/N)yPlease 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 命令(我这台服务器没有安装 mysql),则可以取用目录下 /bin/db/datax-web.sql脚本去手动执行,完成后修改相关配置文件:

(base) [root@hadoop03 /usr/local/datax-web-2.1.2]# vim modules/datax-admin/conf/bootstrap.properties #DatabaseDB_HOST=192.168.170.136DB_PORT=3306DB_USERNAME=rootDB_PASSWORD=xxxDB_DATABASE=dataxweb

按照具体情况配置对应的值即可。

2.5 配置

        安装完成之后,在项目目录下 /modules/datax-execute/bin/env.properties 指定PYTHON_PATH 的路径(即 DataX 的 python 脚本路径):

(base) [root@hadoop03 /usr/local/datax-web-2.1.2]# vim modules/datax-executor/bin/env.properties ······## PYTHON脚本执行位置#PYTHON_PATH=/home/hadoop/install/datax/bin/datax.pyPYTHON_PATH=/usr/local/datax/bin/datax.py

2.6 启动服务

2.6.1 一键启动所有服务

./bin/start-all.sh

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

vi ./modules/{module_name}/bin/env.properties

找到 SERVER_PORT 配置项,改变它的值即可。 当然也可以单一地启动某一模块服务:

./bin/start.sh -m {module_name}

2.6.2 一键取消所有服务

./bin/stop-all.sh

当然也可以单一地停止某一模块服务:

./bin/stop.sh -m {module_name}

2.7 查看服务(注意!注意!)

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

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


Tips: 脚本使用的都是 bash 指令集,如若使用 sh 调用脚本,可能会有未知的错误。

2.8 访问 Web UI

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

如果你登录不进去,显示账号密码错误,可以先去数据库看看是否有 dataxweb 数据库生成,如果没有则需要我们手动把 datax_web.sql 导入 dataxweb 数据库中,先创建 dataxweb 数据库再进入此数据库,最后导入 datax_web.sql 文件 即可:

(base) [root@hadoop03 /usr/local/datax-web-2.1.2/bin/db]# pwd/usr/local/datax-web-2.1.2/bin/db(base) [root@hadoop03 /usr/local/datax-web-2.1.2/bin/db]# lsdatax_web.sql

2.9 运行日志

        部署完成之后,在 modules/对应的项目/data/applogs 下(用户也可以自己指定日志,修改application.yml 中的 logpath 地址即可),用户可以根据此日志跟踪项目实际启动情况

如果执行器启动比 admin 快,执行器会连接失败,日志报"拒绝连接"的错误:

解决办法是是先启动 admin,再启动 executor,30 秒之后会重连,如果成功请忽略这个异常。

(base) [root@hadoop03 /usr/local/datax-web-2.1.2/bin]# ./start.sh -m datax-admin# 30s 后再启动(base) [root@hadoop03 /usr/local/datax-web-2.1.2/bin]# ./start.sh -m datax-executor

三、DataX-Web 任务部署

3.1 创建项目

3.2 执行器管理

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

3.3 创建数据

3.3.1 mysql 数据源

3.3.2 hive 数据

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

3.4 创建任务模板

3.5 任务创建

3.5.1 构建 reader

3.5.2 构建 writer

3.5.3 设置字段映射

3.5.4 构建

四、DataX-Web 任务管理



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。