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

news2024/11/17 7:34:29

📑 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

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

(需要python环境及maven环境)

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

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

通过 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

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

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

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

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

相关文章

【Proteus仿真】【STM32单片机】智能饮水机

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用OLED液晶、按键、语音播放模块、DS18B20温度传感器、加热器和水泵等。 主要功能: 系统运行后,OLED显示温度、温度阈值&a…

【Linux】 ls命令使用

ls(英文全拼: list directory contents)命令用于显示指定工作目录下之内容(列出目前工作目录所含的文件及子目录)。 ls命令 -Linux手册页 著者 由Richard M.Stallman和David MacKenzie撰写。 语法 ls [-alrtAFR] [name...] ls命…

众佰诚:抖音开网店新手怎么做才能做起来

抖音作为国内最热门的短视频平台,其商业价值也日渐凸显。许多商家和个体经营者开始在抖音上开设网店,以此为新的销售渠道。那么,对于新手来说,如何才能在抖音上成功运营网店呢? 首先,明确经营定位。每个电商平台都有其…

云服务器可以做什么?分享阿里云服务器的十种玩法

阿里云服务器可以干什么?服务器的用途有很多,常见的有网站、小程序、视频服务器、手机APP等,例如微信基于腾讯云服务器,淘宝基于阿里云服务器,阿里云百科aliyunbaike.com来说下阿里云服务器十大用途: 目录…

理解C++四种强制类型转换

理解C强制类型转换 文章目录 理解C强制类型转换理解C强制转换运算符1 static_cast1.1. static_cast用于内置数据类型之间的转换1.2 用于指针之间的转换1.3 用于基类与派生类之间的转换 2. const_cast2.1示例12.2 示例2——this指针 3.reinterpret_cast3.1 示例1 4.dynamic_cast…

slamplay:用C++实现的SLAM工具集

0. 项目简介 slamplay 是一个功能强大的工具集合,可用于开始使用 C 来玩和试验 SLAM。这是一项正在进行的工作。它在单个 cmake 框架中安装并提供一些最重要的功能 后端框架(g2o、gtsam、ceres、se-sync 等)、 前端工具(opencv、…

C++那些让我们偷懒的函数

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析(3) 前言 让我们康康c为我们提供的懒人函数吧,后续会…

tcpdump(一)基础理论知识

一 抓包分析技术初探 说明: 本篇章跟tcp/ip的知识没有关系,只是讲解tcpdump工具背景补充: 抓包是做报文分析的第一步敬畏心: 隔行如隔山,不要想当然 ① 背景 ② 抓包技术名词 1、捋顺这些技术的来龙去脉甚至八卦;2、这样我们在后续课程…

Stable Signature - 为开源生成式AI 创建的图像 添加水印的新方法

文章目录 关于 Stable Signature 关于 Stable Signature 一种为开源生成式AI创建的图像添加水印的新方法 Stable Signature: A new method for watermarking images created by open source generative AI https://ai.meta.com/blog/stable-signature-watermarking-generativ…

Redis三种模式(主从复制,哨兵,集群)

Redis三种模式(主从复制,哨兵,集群) 一、主从复制1.1、主从复制概述1.2、 Redis主从复制流程1.3、 Redis主从复制作用1.4 、部署Redis 主从复制 二、Redis 哨兵模式2.1、哨兵模式的原理2.2、哨兵模式的作用2.3、哨兵的结构组成2.4…

【Spring知识点介绍 | 第二篇】什么是AOP

前言: 在本文中,我们将介绍AOP的基本概念、原理和核心组件。我们将探讨AOP的作用、优势以及如何在实际应用中使用AOP来提升软件开发的效率和质量。无论是新手还是资深开发人员,都将受益于对AOP的理解和应用。 希望本文能够帮助读者对AOP有一…

MineDojo - “我的世界” 基础上构建的 具身智能体仿真组件

关于 MineDojo Building Open-Ended Embodied Agents with Internet-Scale Knowledge github : https://github.com/MineDojo/MineDojo论文:MineDojo: Building Open-Ended Embodied Agents with Internet-Scale Knowledge https://arxiv.org/abs/2206.08853 Min…

Linux安装 spark 教程详解

目录 一 准备安装包 二 安装 scala 三 修改配置文件 1)修改 workers 文件 2)修改 spark-env.sh文件 四 进入 spark 交互式平台 一 准备安装包 可以自行去 spark 官网下载想要的版本 这里准备了 spark3.1.2的网盘资源 链接: https://pan.baidu.com…

stl 输入输出流

标准输入输出流 头文件 iostream 从标准输入读取流 cin >> 从标准输出写入流 cout << get 系列函数 get 无参数&#xff1a;cin.get() 从指定的输入流中提取一个字符&#xff08;包括空白字符&#xff09;&#xff0c;若读取成功&#xff0c;返回该字符的 ASC…

css--踩坑

1. 子元素的宽高不生效问题 设置flex布局后&#xff0c;子元素的宽高不生效问题。 如果希望子元素的宽高生效&#xff0c;解决方法&#xff0c;给子元素添加如下属性&#xff1a; flex-shrink: 0; flex-shrink: 0;2. 横向滚动&#xff08;子元素宽度不固定&#xff09; /* tab…

K8s学习笔记5

安装Kubernetes&#xff1a; 主机名IP地址角色master192.168.17.131master结点node1192.168.17.132nodenode2192.168.17.133node 设置主机名&#xff1a; [rootlocalhost ~]# hostnamectl set-hostname master[rootlocalhost ~]# hostnamectl set-hostname node1[rootlocalho…

尤雨溪:Vite的现状与未来展望

10 月 5 日 - 6 日&#xff0c;ViteConf 2023 在线举行&#xff0c;Vue 和 Vite 的创建者尤雨溪发表了题为《The State of Vite》 的演讲&#xff0c;他分享了 Vite 的现状与未来展望&#xff0c;本文就来看一看 Vite 现在怎么样了&#xff0c;以及未来的路将怎么走&#xff01…

港联证券:a股b股区别?

A股和B股是指中国大陆股市中的两类股票&#xff0c;两者在法律规定、税收、流转规划和出资者身份等多个方面都有较大不同。下面从多个视点分析A股B股的差异。 一、法律规定 在中国大陆股市中&#xff0c;A股是指在上海证券生意所和深圳证券生意所上市流转的股票&#xff0c;只…

IDEA对比两个文件的内容

提前说明&#xff1a;IDEA可以用对比功能对比两个文件的内容&#xff0c;适合对比大部分内容重复&#xff0c;少部分内容有变化的两个文件。 第一步&#xff1a;鼠标点击选中一个文件 第二步&#xff1a;按照Ctrl的同时&#xff0c;鼠标左键再点击选择另一个文件 第三步&#…

零基础如何自学网络安全,基于就业前景全方位讲解,包教包会

你是否对网络空间安全充满好奇&#xff1f;想要解开网络世界神秘的面纱&#xff1f;你是否对黑客技术着迷&#xff1f;而找不到合适的学习途径&#xff1f;你是否遭到过各种各样的网络攻击&#xff0c;却因知识的匮乏束手无策&#xff1f; 那么接下来将为你全面介绍&#xff0c…