Datax、Datax-web 安装部署

news2024/12/23 23:09:08

Datax安装(Windows)

1、源码地址:GitHub - alibaba/DataX: DataX是阿里云DataWorks数据集成的开源版本。

2、下载安装包并解压(安装前需有jdk、python开发环境):https://github.com/alibaba/DataX/archive/refs/tags/datax_v202308.zip

3、解压后,打开cmd命令行测试是否成功

D:\DataX\datax\bin>python datax.py

DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.

要是有乱码,命令行切换一下UTF-8编码

D:\DataX\datax\bin>CHCP 65001
Active code page: 65001

4、测试执行任务

在D:\DataX\datax\job目录下,手动新建json脚本,json示例如下图。随后执行命令:python datax.py ../job/work1.json   完成同步。

{
    "job":{
        "content":[
            {
                "reader":{
                    "name":"mysqlreader",
                    "parameter":{
                        "username":"root",
                        "password":"123456",
                        "column":[
                            "id",
                            "name"
                        ],
                        "connection":[
                            {
                                "table":[
                                    "table1"
                                ],
                                "jdbcUrl":[
                                    "jdbc:mysql://localhost/datax?characterEncoding=utf8"
                                ]
                            }
                        ]
                    }
                },
                "writer":{
                    "name":"mysqlwriter",
                    "parameter":{
                        "username":"root",
                        "password":"123456",
                        "column":[
                            "id",
                            "name"
                        ],
                        "connection":[
                            {
                                "table":[
                                    "table2"
                                ],
                                "jdbcUrl":"jdbc:mysql://localhost/datax?characterEncoding=utf8"
                            }
                        ]
                    }
                }
            }
        ],
        "setting":{
            "speed":{
                "channel":1,
                "byte":104857600
            },
            "errorLimit":{
                "record":10,
                "percentage":0.05
            }
        }
    }
}

以上datax安装完成,为了方便操作,继续部署datax-web。

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

任务"执行器"支持集群部署,支持执行器多节点路由策略选择,支持超时控制、失败重试、失败告警、任务依赖,执行器CPU.内存.负载的监控等等。后续还将提供更多的数据源支持、数据转换UDF、表结构同步、数据同步血缘等更为复杂的业务场景。

Datax-web部署(开发Idea)

1、源码地址:GitHub - WeiYe-Jing/datax-web: DataX集成可视化页面,选择数据源即可一键生成数据同步任务,支持RDBMS、Hive、HBase、ClickHouse、MongoDB等数据源,批量创建RDBMS数据同步任务,集成开源调度系统,支持分布式、增量同步数据、实时查看运行日志、监控执行器资源、KILL运行进程、数据源信息加密等。

2、pull代码:GitHub - WeiYe-Jing/datax-web: DataX集成可视化页面,选择数据源即可一键生成数据同步任务,支持RDBMS、Hive、HBase、ClickHouse、MongoDB等数据源,批量创建RDBMS数据同步任务,集成开源调度系统,支持分布式、增量同步数据、实时查看运行日志、监控执行器资源、KILL运行进程、数据源信息加密等。

3、创建数据库

执行bin/db下面的datax_web.sql文件(注意老版本更新语句有指定库名)

4、修改项目配置

4.1修改datax_admin下resources/application.yml文件

#数据源
  datasource:
    username: root
    password: root
    url: jdbc:mysql://localhost:3306/datax_web?serverTimezone=Asia/Shanghai&useLegacyDatetimeCode=false&useSSL=false&nullNamePatternMatchesAll=true&useUnicode=true&characterEncoding=UTF-8
    driver-class-name: com.mysql.jdbc.Driver

修改数据源配置,目前仅支持mysql

# 配置mybatis-plus打印sql日志
logging:
  level:
    com.wugui.datax.admin.mapper: error
  path: ./data/applogs/admin

修改日志路径path

  # datax-web email
  mail:
    host: smtp.qq.com
    port: 25
    username: xxx@qq.com
    password: xxx
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            required: true
        socketFactory:
          class: javax.net.ssl.SSLSocketFactory

修改邮件发送配置(不需要可以不修改)

4.2修改datax_executor下resources/application.yml文件

# log config
logging:
  config: classpath:logback.xml
  path: ./data/applogs/executor/jobhandler

修改日志路径path

datax:
  job:
    admin:
      ### datax-web admin address
      addresses: http://127.0.0.1:8080
    executor:
      appname: datax-executor
      ip:
      port: 9999
      ### job log path
      logpath: ./data/applogs/executor/jobhandler
      ### job log retention days
      logretentiondays: 30
  executor:
    jsonpath: /Users/mac/data/applogs

  pypath: /Users/mac/tools/datax/bin/datax.py

修改datax.job配置

  • admin.addresses datax_admin部署地址,如调度中心集群部署存在多个地址则用逗号分隔,执行器将会使用该地址进行"执行器心跳注册"和"任务结果回调";
  • executor.appname 执行器AppName,每个执行器机器集群的唯一标示,执行器心跳注册分组依据;
  • executor.ip 默认为空表示自动获取IP,多网卡时可手动设置指定IP,该IP不会绑定Host仅作为通讯实用;地址信息用于 "执行器注册" 和 "调度中心请求并触发任务";
  • executor.port 执行器Server端口号,默认端口为9999,单机部署多个执行器时,注意要配置不同执行器端口;
  • executor.logpath 执行器运行日志文件存储磁盘路径,需要对该路径拥有读写权限;
  • executor.logretentiondays 执行器日志文件保存天数,过期日志自动清理, 限制值大于等于3时生效; 否则, 如-1, 关闭自动清理功能;
  • executor.jsonpath datax json临时文件保存路径
  • pypath DataX启动脚本地址,例如:xxx/datax/bin/datax.py 如果系统配置DataX环境变量(DATAX_HOME),logpath、jsonpath、pypath可不配,log文件和临时json存放在环境变量路径下。

5、启动项目

  • 1.运行datax_admin下 DataXAdminApplication
  • 2.运行datax_executor下 DataXExecutorApplication

admin启动成功后日志会输出三个地址,两个接口文档地址,一个前端页面地址

6、启动成功

启动成功后打开页面(默认管理员用户名:admin 密码:123456) http://localhost:8080/index.html#/dashboard 

7、集群部署

  • 调度中心、执行器支持集群部署,提升调度系统容灾和可用性。
  • 1.调度中心集群:

    DB配置保持一致;
    集群机器时钟保持一致(单机集群忽视);

  • 2.执行器集群:

    执行器回调地址(admin.addresses)需要保持一致;执行器根据该配置进行执行器自动注册等操作。

    同一个执行器集群内AppName(executor.appname)需要保持一致;调度中心根据该配置动态发现不同集群的在线执行器列表。

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

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

相关文章

游戏开发服务器选型的横向对比

来源一个某乎的作者,貌似来自台湾 上篇介绍了go版本的游戏服务器,这篇介绍下其它语言版本: SkynetkbengineNoahGameFramePomeloPinusET使用的语言C/LuaCCNodejsTypeScriptC#概述云风前辈开源的框架mmo框架server一个快速的、可扩展的、分布…

【Prometheus】概述及部署

目录 Prometheus 概述 Prometheus 的生态组件 Prometheus 的工作模式 Prometheus 的工作流程 Prometheus 的局限性 部署 Prometheus Prometheust Server 端安装和相关配置 部署 Exporters 监控 MySQL 配置示例 监控 Nginx 配置示例 部署 Grafana 进行展示 部署 Pro…

Java如何调用接口API并返回数据(两种方法)

Java如何调用接口API并返回数据(两种方法) java处理请求接口后返回的json数据-直接处理json字符串 处理思路: 将返回的数据接收到一个String对象中(有时候需要自己选择性的取舍接收) 再将string转换为JSONObject对象 …

Shiro学习总结

第一章 入门概述 1.概念 shiro是一个Java安全框架,可以完成:认证、授权、加密、会话管理、与web集成、缓存… 2.优势 ● 易于使用,构建简单 ● 功能全面 ● 灵活,可以在任何应用程序环境中工作,并且不需要依赖它们…

log4框架

1.log4cplus基本元素 Layouts :控制输出消息的格式。 Appenders :输出位置。 Logger :日志对象。 Priorities :优先权,包括TRACE, DEBUG, INFO, WARNING, ERROR, FATAL。 2.log4cplus基本结构 3. 使用步骤&am…

2023年7月最新道路矢量数据(全国/分省/分城市)

2023年7月最新道路矢量数据(全国/分省/分城市) 道路数据是我们在各项研究中经常使用的数据!道路数据虽然很常用,但是却基本没有能下载最近年份道路数据的网站,所以很多人不知道如何获到道路数据。 本次我们为大家推…

【80天学习完《深入理解计算机系统》】第九天 3.2 数据传送指令【mov】【栈和堆】【leaq】【一元操作】【二元操作】

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客,如有问题交流,欢迎评论区留言,一定尽快回复!(大家可以去看我的专栏,是所有文章的目录)   文章字体风格: 红色文字表示&#…

智慧充电桩物联网方案架构

智慧充电桩物联网采用“云-管-边-端”的边缘计算物联网架构,融合5G、AI、Wi-Fi 6等技术,实现充电基础设施由数字化向智能化演进。智慧充电桩物联网方案架构设计,如下图所示: 云端: 物联网平台具备广泛协议的南向接入…

.NET 最便捷的Log4Net日志记录器

最便捷的Log4Net使用方法 LOG4NET 配置日志记录器开始引用nuget LOG4NET 配置日志记录器 Apache log4net 库是一个帮助程序员将日志语句输出到各种的工具 的输出目标。log4net是优秀的Apachelog4j™框架的移植 Microsoft.NET 运行时。我们保持了与原始log4j相似的框架 同时利…

【javaweb】学习日记Day5 - 请求响应 分层解耦 IOC DI 三层架构

目录 一、请求响应 1、请求 (1)简单参数 ① GET请求 ② POST请求 ③ 假如形参与请求参数不一致 (2)实体参数 ① 简单实体对象 ② 复杂实体对象 (3)数组参数 (4)集合参数 …

研究生定向培养学徒对象及说明

研究生定向培养学徒开始招募啦,招募对象可以 1、免费学习 2、全真企业项目实战 3、拥有就业推荐机会 4、提供副业机会 研究生定向培养学徒报名时间: 2023年8月22日-2023年9月10日 研究生定向培养学徒招募对象: 1.毕业年度研究…

如何在地平线J5上部署RTA-VRTE v2.2应用程序

在地平线J5上部署RTA-VRTE v2.2应用程序流程图: 虽然在J5上使用ifconfig 命令看不到can0和can1被启动 登陆系统后ifconfig -a仍然能看到can0和can1。

Python(八十四)字符串的切片操作

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

Linux TCP协议——三次握手,四次挥手

一、TCP协议介绍 TCP协议是可靠的、面向连接的、基于字节流的传输层通信协议。 TCP的头部结构: 源/目的端口号: 表示数据是从哪个进程来, 到哪个进程去;(tcp是传输层的协议,端与端之间的数据传输,在TCP和UDP协议当中不会体现出I…

基于paddleocr的文档识别

1、版面分析 使用轻量模型PP-PicoDet检测模型实现版面各种类别的检测。 数据集: 英文:publaynet数据集的训练集合中包含35万张图像,验证集合中包含1.1万张图像。总共包含5个类别。 中文:CDLA据集的训练集合中包含5000张图像&a…

Vue3:通过路由写多个页面,通过不同的路径可以进入不同的页面

前言 Vue3:想通过路由写2个页面,不同的路径可以进入不同的页面 实现步骤 1、创建Vue3项目 通过脚手架创建一个Vue3的项目,然后在此基础上对文件进行增删改,修改成自己需要的项目框架 2、views文件夹 对应 页面文件 如果需要…

网络编程——网络基础知识

目录 一、网络历史两个重要名词1.1 阿帕网1.2 TCP/IP协议 二、局域网和广域网三、IP地址3.1 基本概念3.2 划分(IPV4)3.3 特殊IP地址3.4 子网掩码3.5 重新组网 四、网络模型4.1 网络的体系结构:4.2 OSI与TCP/IP模型4.2.1 OSI模型4.2.2 TCP/IP模型4.2.3 OSI和TCP/IP模…

C++,类的特殊函数练习

设计一个Per类&#xff0c;类中包含私有成员:姓名、年龄、指针成员身高、体重&#xff0c;再设计一个Stu类&#xff0c;类中包含私有成员:成绩、Per类对象p1&#xff0c;设计这两个类的构造函数、析构函数和拷贝构造函数。 #include <iostream> using namespace std;cla…

OpenAI的Superalignment策略:计算为王

卷友们好&#xff0c;我是rumor。 对于怎么实现AGI这个玄学的目标&#xff0c;感觉大家都是差不多的状态&#xff1a;咱也不知道怎么做&#xff0c;但就是觉得现在的LLM技术还远远不够。 所以之前看到OpenAI说要用模型去做对齐研究[1]&#xff0c;以及最近发话要4年内做出Super…

创建R包-2.1:在RStudio中使用Rcpp制作R-Package(更新于2023.8.23)

目录 0-前言 1-在RStudio中创建R包项目 2-创建R包 2.1通过R函数创建新包 2.2在RStudio通过菜单来创建一个新包 2.3关于R包创建的说明 3-添加R自定义函数 4-添加C函数 0-前言 目标&#xff1a;在RStudio中创建一个R包&#xff0c;这个R包中包含C函数&#xff0c;接口是Rc…