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

news2024/10/7 11:25:14

目录

一、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
JavaJava8,jdk 的版本建议在 1.8.201 以上
Python

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

MySQLMySQL 5.7+
MavenApache Maven 3.6.1+,编译安装包需要(可选)
DataXDataX 3

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

2.2 安装

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

(base) [root@hadoop03 ~]# ls
datax-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 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 命令(我这台服务器没有安装 mysql),则可以取用目录下 /bin/db/datax-web.sql脚本去手动执行,完成后修改相关配置文件:

(base) [root@hadoop03 /usr/local/datax-web-2.1.2]# vim modules/datax-admin/conf/bootstrap.properties 
#Database
DB_HOST=192.168.170.136
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=xxx
DB_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.py
PYTHON_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]# ls
datax_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 任务管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1247067.html

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

相关文章

智慧医疗 | 拓世法宝商业数字人一体机助力医疗服务全方位升级

随着科技的不断发展,智慧医疗正成为医疗行业的一大趋势。从挂号导诊到医疗服务再到自助买药,数字化技术正逐渐渗透进医疗生态系统,旨在提高医疗服务的效率和质量,为患者提供更便捷的就医体验。 在传统医疗体系中,患者…

【经验分享】在vm中安装openEuler及使用yum安装openGauss

1.前言 随着互联网时代对数据库的新要求,以PostgreSQL为基础的开源数据库openGauss应运而生。openGauss在保持PostgreSQL接口兼容的前提下,对其查询优化器、高可用特性等进行了全面优化,实现了超高性能。 同时,openGauss作为社区项目,新增功能持续丰富。优点是查询性能高、可…

java获取服务器配置文件的值

获取服务器配置文件的值 Value("${bpm.minio.bucketName:}")private String minioBarrel;

echarts笛卡尔坐标系热力图当坐标及数据为小数时

// X坐标轴 const xValue [6,6.5,7,7.5,8,8.5,9,9.5,10]; //Y坐标轴 const yValue [1.5,2,2.5,3,3.5,4,4.5,5,5.5,6]; // 需要展示的值【X坐标,Y坐标,展示的数值】 const data [[6.5,2,4], [7, 2.5, 10]] ; // 坐标轴及数值存在小数时,需要进行转化,否…

第五届全国高校计算机能力挑战赛-程序设计挑战赛(C语言模拟题)

1、已有定义“int a[10]{1,2},i0;”,下面语句中与“ a[i]a[i1],i;”等价的是()。 A. a[i]a[i1]; B. a[i]a[i]; C. a[i]a[i1]; D. i,a[i-1]a[i]; 2、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()。 A. 7和5 …

SOLIDWORKS 2024新功能之Electrical篇

SOLIDWORKS 2024 Electrical篇目录概览 • 对齐零部件 • 更改多个导轨和线槽的长度 • 过滤辅助和附件零件 • 2D 机柜中的自动零件序号 • 移除制造商零件数据 • 重置未定义的宏变量 • 使用范围缩短列表 • SOLIDWORKS Electrical Schematic 增强功能 1、对齐零部件…

Ubuntu 设置Nginx开机自启

1.建立自启动服务文件 vim /usr/lib/systemd/system/nginx.service Descriptionnginx - high performance web server Afternetwork.target remote-fs.target nss-lookup.target [Service] Typeforking ExecStart/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx…

vue的生命周期及不同阶段状态可以进行的行为

什么是vue的生命周期? Vue 的实例从创建到销毁的过程 ,就是生命周期 ,也就是从开始创建 ,初始化数据 ,编译模板 ,挂载Dom到渲染DOM ,更新数据再到渲染 ,卸载等一系列的过程 &#x…

Hologres性能优化指南1:行存,列存,行列共存

在Hologres中支持行存、列存和行列共存三种存储格式&#xff0c;不同的存储格式适用于不同的场景。 在建表时通过设置orientation属性指定表的存储格式&#xff1a; BEGIN; CREATE TABLE <table_name> (...); call set_table_property(<table_name>, orientation,…

RabbitMQ 安装(在docker容器中安装)

为什么要用&#xff1f; RabbitMQ是一个开源的消息代理和队列服务器&#xff0c;主要用于在不同的应用程序之间传递消息。它实现了高级消息队列协议&#xff08;AMQP&#xff09;&#xff0c;并提供了一种异步协作机制&#xff0c;以帮助提高系统的性能和扩展性。 RabbitMQ的作…

这是一个最简单的爱国主义为主题的网页首页

代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8"> <title>爱国主题网页</title> <style> body { font-family: Arial, sans-serif; …

《opencv实用探索·二》根据RGB的像素排列来理解图像深度、像素深度和位深度

通常对于RGB图像主要分为RGB16&#xff0c;RGB24和RGB32。RGB16从高位到低位的排列为R->G->B&#xff0c;RGB24和RGB32从高位到低位的排列为B->G->R。 RGB16: 16 位为一个存储单元&#xff08;一个像素&#xff09;&#xff0c;来存储一个RGB像素;因为人眼对绿色比…

哦?是吗|兜兜转转,最后还是选择了盖雅排班系统

在之前发布的和「人效案例集」中&#xff0c;我们为大家呈现了很多关于人效提升的理论方法&#xff0c;以及各家企业的人效提升提升实践。 回过头来&#xff0c;我们发现&#xff1a;排班管理渗透于人效九宫格之中&#xff0c;也因此成为很多企业人效提升的一个重要中介&#x…

【MOJO】Modular语言安装和测试

目录 一、Mojo介绍 Linux​ Mac 二、安装Mojo SDK 三、mojo代码测试 3.1、在 REPL 中运行代码​ 3.2、构建并运行 Mojo 源文件​ 运行mojo文件​ 构建可执行二进制文件​ 四、VSCode安装 一、Mojo介绍 在学习Rust语言的过程中无意发现了Modular语言&#xff0c;语言…

C语言——编写程序,判断从键盘输入字符的类型(大写字母、小写字母、数字、其他四类)

#define _CRT_SECURE_NO_WARNINGS 1#include <ctype.h> #include <stdio.h> int main() { char c;printf("请输入一个字符: \n");scanf("%c",&c);if (isupper(c)) {printf("这是一个大写字母\n");} else if (islower(c)) {pr…

基于若依的ruoyi-nbcio流程管理系统修改代码生成的sql菜单id修改成递增id(谨慎修改,大并发分布式有弊端)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 1、我看我的原先系统生成的代码id都是很长如下&#xff1a; -- 菜单 SQL insert into sys_menu (menu_id…

​3ds Max插件CG MAGIC图形板块为您提升线条效率!

​通过3ds Max软件进行绘图操作时&#xff0c;大多绊住各位设计师们作图速度的往往都是一些细微的琐事&#xff0c;重复一变一变的调整修改等问题。 今天说到这个绘图线条来回调整解决方法就是3ds Max插件CG MAGIC。 Max插件CG MAGIC作为一款智能化的辅助插件&#xff0c;致力于…

MFC设置单选按钮点击自己可以可选和不可选

mfc是c的一个框架&#xff0c;可谓是经久不衰。最近博主遇到一个问题&#xff0c;就是单选按钮点击自己可以设置可选和不可选&#xff0c;貌似类似复选框一样&#xff0c;但领导分发的任务上要求的是用单选按钮实现复选框这种类似功能&#xff0c;实现效果类似如下图&#xff1…

阿里云Elasticsearch Severless 如何做到成本降低50%

阿里云检索分析服务 Elasticsearch 版云上演进之路 2017年&#xff0c;阿里云与Elastic 开启开源战略合作&#xff0c;正式发布阿里云检索分析服务 Elasticsearch 版 &#xff0c;100%兼容开源Elasticsearch&#xff0c;开箱即用&#xff0c;提供开放兼容的云上检索分析服务。…

MySql使用游标批量更新字段为空的记录

目的&#xff1a;因为工作中需要模拟大批量的测试数据、发现有部分历史数据中的唯一编号的字段内容为空&#xff0c;因此需要按顺序填充上对应的字段内容&#xff0c;经查询mysql使用游标方式能快速实现此需求。 具体操作步骤如下&#xff1a;打开Navicate for MySQL软件、连接…