【数据库开发】DataX开发环境的安装部署

文章目录

  • 1、简介
    • 1.1 DataX简介
    • 1.2 DataX功能
    • 1.3 支持的数据通道
  • 2、DataX安装配置
    • 2.1 DataX
    • 2.2 Java
    • 2.3 Python
    • 2.4 测试
  • 3、DataX Web安装配置
    • 3.1 mysql
    • 3.2 DataX Web
      • 3.2.1 简介
      • 3.2.2 架构图
      • 3.2.3 依赖环境
      • 3.2.4 安装
  • 结语

1、简介

DataX是阿里云DataWorks数据集成的开源版本。下载即可用,支持linux和windows,只需要短短几步骤就可以完成数据的传输。

官网地址:
https://github.com/alibaba/DataX

在这里插入图片描述

1.1 DataX简介

DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能。
在这里插入图片描述

1.2 DataX功能

DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时DataX插件体系作为一套生态系统, 每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。
在这里插入图片描述
DataX本身作为离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,纳入到整个同步框架中。

  • Reader:Reader为数据采集模块,负责采集数据源的数据,将数据发送给Framework。
  • Writer: Writer为数据写入模块,负责不断向Framework取数据,并将数据写入到目的端。
  • Framework:Framework用于连接reader和writer,作为两者的数据传输通道,并处理缓冲,流控,并发,数据转换等核心技术问题。

1.3 支持的数据通道

DataX目前支持数据如下:

类型数据源Reader(读)Writer(写)文档
RDBMS 关系型数据库MySQL读 、写
Oracle读 、写
OceanBase读 、写
SQLServer读 、写
PostgreSQL读 、写
DRDS读 、写
Kingbase读 、写
通用RDBMS(支持所有关系型数据库)读 、写
阿里云数仓数据存储ODPS读 、写
ADB
ADS
OSS读 、写
OCS
Hologres
AnalyticDB For PostgreSQL
阿里云中间件datahub读 、写
SLS读 、写
图数据库阿里云 GDB读 、写
Neo4j
NoSQL数据存储OTS读 、写
Hbase0.94读 、写
Hbase1.1读 、写
Phoenix4.x读 、写
Phoenix5.x读 、写
MongoDB读 、写
Cassandra读 、写
数仓数据存储StarRocks读 、写
ApacheDoris
ClickHouse读 、写
Databend
Hive读 、写
kudu
selectdb
无结构化数据存储TxtFile读 、写
FTP读 、写
HDFS读 、写
Elasticsearch
时间序列数据库OpenTSDB
TSDB读 、写
TDengine读 、写

2、DataX安装配置

https://github.com/alibaba/DataX/blob/master/userGuid.md

2.1 DataX

  • 下载DataX二进制安装包
# wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
wget https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202309/datax.tar.gz

在这里插入图片描述
解压如下:

tar -zxvf datax.tar.gz

在这里插入图片描述
查看文件夹/home/tomcat如下:
在这里插入图片描述
查看文件夹/home/tomcat/datax/bin如下:
在这里插入图片描述
查看文件夹/home/tomcat/datax/job如下:
在这里插入图片描述

2.2 Java

输入命令检查java是否已安装。

java -version

在这里插入图片描述
说明java没有安装。
安装java环境,输入如下代码如下:

apt-get install openjdk-11-jre-headless openjdk-11-jdk-headless

在这里插入图片描述
在这里插入图片描述

2.3 Python

输入命令检查python是否已安装。

python -v

在这里插入图片描述

python3 -v

在这里插入图片描述

2.4 测试

输入DataX的测试命令如下:

python3 datax.py ../job/job.json

在这里插入图片描述
命令行结果输出:
在这里插入图片描述
初步测试成功。

3、DataX Web安装配置

3.1 mysql

下载mysql数据库的安装包:

mkdir mysql
cd mysql
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar

在这里插入图片描述
解压mysql数据库的安装包:

tar xvf mysql-server_5.7.31-1ubuntu18.04_amd64.deb-bundle.tar

在这里插入图片描述

依次安装如下文件:

 libmysqlclient20_5.7.31-1ubuntu18.04_amd64.deb
 libmysqlclient-dev_5.7.31-1ubuntu18.04_amd64.deb
 libmysqld-dev_5.7.31-1ubuntu18.04_amd64.deb
 mysql-client_5.7.31-1ubuntu18.04_amd64.deb
 mysql-common_5.7.31-1ubuntu18.04_amd64.deb
 mysql-community-client_5.7.31-1ubuntu18.04_amd64.deb
 mysql-community-server_5.7.31-1ubuntu18.04_amd64.deb
 mysql-community-source_5.7.31-1ubuntu18.04_amd64.deb
 mysql-server_5.7.31-1ubuntu18.04_amd64.deb
 #mysql-testsuite_5.7.31-1ubuntu18.04_amd64.deb
 #mysql-community-test_5.7.31-1ubuntu18.04_amd64.deb

比如命令如下:

sudo apt-get install ./mysql-server_5.7.31-1ubuntu18.04_amd64.deb

在这里插入图片描述

测试是否安装成功如下:

mysql -V

在这里插入图片描述
安装完成后查看mysql服务:

netstat -tap | grep mysql

在这里插入图片描述

修改 root 密码和 host:

mysql
use mysql
update user set host = '%' where user = 'root' 
SET PASSWORD FOR 'root'@'%' = PASSWORD('XXXXXXXX');
FLUSH PRIVILEGES;
select user,host from user;
FLUSH PRIVILEGES;

在这里插入图片描述
查看mysql数据库情况:

show databases;

在这里插入图片描述

use dataweb;
show tables;

在这里插入图片描述

3.2 DataX Web

https://github.com/WeiYe-Jing/datax-web

3.2.1 简介

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

3.2.2 架构图

在这里插入图片描述

3.2.3 依赖环境

  • Language: Java 8(jdk版本建议1.8.201以上)
  • Python2.7(支持Python3需要修改替换datax/bin下面的三个python文件,替换文件在doc/datax-web/datax-python3下)
  • Environment: MacOS, Windows,Linux
  • Database: Mysql5.7

3.2.4 安装

https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/datax-web-deploy.md
在这里插入图片描述

https://pan.baidu.com/s/13yoqhGpD00I82K4lOYtQhg
提取码:cpsk
  • 1)解压安装包
    在选定的安装目录,解压安装包
tar -zxvf datax-web-{VERSION}.tar.gz
  • 2)执行一键安装脚本
    进入解压后的目录,找到bin目录下面的install.sh文件,如果选择交互式的安装,则直接执行
./bin/install.sh
  • 3)数据库初始化
    如果你的服务上安装有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)
    1. 配置
      在项目目录下/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等,具体请查看文件。

  • 5)启动服务
    一键启动所有服务
./bin/start-all.sh

一键取消所有服务

./bin/stop-all.sh

汇总命令如下:

./bin/start-all.sh # 启动
./bin/stop-all.sh # 停止
 
# 启动后jps,可以看到admin和executor进程
jps
  • 6)查看服务
    在Linux环境下使用JPS命令,查看是否出现DataXAdminApplication和DataXExecutorApplication进程,如果存在这表示项目运行成功;
    如果项目启动失败,请检查启动日志:modules/datax-admin/bin/console.out或者modules/datax-executor/bin/console.out;
    在这里插入图片描述

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

http://192.168.1.123:9527/index.html

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

在这里插入图片描述

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

考研分享第2期 | 中央财经大学管理科学跨考北大软微金融科技406分经验分享

一、个人信息 本科院校:中央财经大学 管理科学与工程学院 管理科学专业 上岸院校:北京大学 软件与微电子学院 金融科技专业硕士 考试科目: 初试:思想政治理论 英语一 数学二 经济学综合 面试考察范围广,包括英语自…

深度学习1【吴恩达】

视频链接:1.5 关于这门课_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1FT4y1E74V?p5&spm_id_frompageDriver&vd_source3b6cdacf9e8cb3171856fe2c07acf498 视频中吴恩达老师所有的话语收录: 机器学习初学者-AI入门的宝典 (ai-start.c…

CorelDRAW2023中文免费版矢量图设计软件

设计工作经验丰富的人一定对比过多种设计软件,在对众多矢量图设计软件进行对比之后,多数资深设计师认为CorelDRAW的专业性、便捷性以及兼容性的综合表现更好,而且软件还配置了海量艺术笔,这让工作成果更为出众,因此更愿…

Clickhouse学习笔记(8)—— 建表优化

数据类型 时间字段 建表时能用数值型或日期时间类型(DateTime)表示的字段就不要用字符串 因为clickhouse进行分区时一般使用时间字段来进行分区,而将时间字段使用DateTime表示,不需要经过函数转换处理,执行效率高、…

[Android]_[初级]_[配置gradle的环境变量设置安装位置]

场景 在开发Android项目的时候, gradle是官方指定的构建工具。不同项目通过wrapper指定不同版本的gradle。随着项目越来越多,使用的gradle版本也增多,导致它以来的各种库也增加,系统盘空间不足,怎么解决? 说明 grad…

.Net-C#文件上传的常用几种方式

1.第一种上传方式,基本通用于.net所有的框架 [HttpPost][Route("Common/uploadFile1")]public string uploads(){HttpContextBase context (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统contextHttpRequestBase request context.Re…

CUMT-----Java课后第六章编程作业

文章目录 一、题11.1 问题描述1.2 代码块1.3 运行截图 二、题22.1 问题描述2.2 代码块2.3 运行截图 一、题1 1.1 问题描述 (1)创建一个用于数学运算接口,算数运算加、减、乘和除都继承该接口并实现具体的算数运算。(2)编写一个测试类进行运行测试。 1.2 代码块 p…

服务器中了locked勒索病毒怎么处理,locked勒索病毒解密,数据恢复

近几年,网络应用技术得到了迅速发展,越来越多的企业开始走向数字化办公,极大地为企业的生产运营提供了帮助,但是网络技术的发展也为网络安全埋下隐患。最近,locked勒索病毒非常嚣张,几乎是每隔两个月就会对…

美团2024届秋招笔试第二场编程真题-小美的数组构造

分析:暴力角度看,因为数组a和b总和一样,所以实际上是将总和m划分为n个数字,且每个数字都和a数组不一样的方案数。当然会超时。从数据角度看,平方级别算法是可以的。 其实用动态规划的四步法分析起来还是很简单的&…

Python实战 | 使用 Python 和 TensorFlow 构建卷积神经网络(CNN)进行人脸识别

专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https:/…

EXCEL中将UTC时间戳转为日期格式(精确到秒)

UTC时间戳的格式通常是一个整数,表示从1970年1月1日00:00:00 UTC到当前时间的总秒数。它可以以秒或毫秒为单位表示。例如,如果当前时间是2023年3月17日 12:34:56 UTC,则对应的UTC时间戳为1679839496(以秒为单位)或1679…

通过防火墙禁止访问指定网站(个人电脑,Windows系统)

背景 近年沉迷B站视频不能自拔,使用了诸多手段禁用,都很容易破戒。为了彻底杜绝B站的使用,决定手动进行设置。在ChatGPT和文心一言提问,得到了以下四种方法(按个人认为的戒断水平由低到高排序):…

分享10个地推拉新和网推拉新app推广接单平台,一手接任务平台

文章首推平台:”聚量推客“ 官方邀请码000000 从事地推、拉新、推广这一类型的工作,是一定要有稳定的一手接单平台的,因为在瞬息万变的拉新推广市场中,很多APP应用的推广拉新存在周期性,有可能这个月还在的拉新项目&a…

STM32F407: CMSIS-DSP库的移植(基于库文件)

目录 1. 源码下载 2. DSP库源码简介 3.基于库的移植(DSP库的使用) 3.1 实验1 3.2 实验2 4. 使用V6版本的编译器进行编译 上一篇:STM32F407-Discovery的硬件FPU-CSDN博客 1. 源码下载 Github地址:GitHub - ARM-software/CMSIS_5: CMSIS Version 5…

开发知识点-Vue-Electron

Electron ElectronVue打包.exe桌面程序 ElectronVue打包.exe桌面程序 为了不报错 卸载以前的脚手架 npm uninstall -g vue-cli安装最新版脚手架 cnpm install -g vue/cli创建一个 vue 随便起个名 vue create electron-vue-example (随便起个名字electron-vue-example)进入 创建…

中国国内机场信息集成系统厂家现状情况

机场信息集成系统在本世纪初进入中国市场,早期的信息集成系统提供商以外企为主,后来国内企业迅速发展。但在2008年前,民航总局设立了机场信息系统的入门门槛,也就是需要民航空管工程及机场弱电系统建设资质要求,该要求…

MySQL 约束特殊查询

MySQL 约束&特殊查询 文章目录 MySQL 约束&特殊查询1. 数据库约束1.1 约束类型1.2 NULL约束1.3 NUIQUE:唯一约束1.4 DEFAULT:默认值约束1.5 PRIMARY KEY:主键约束1.6 FOREIGN KEY:外键约束1.7 CHECK约束 2. 表的关系2.1 一…

IPV4过渡IPV6的关键技术NAT(Network AddressTranslation,网络地址转换)

文章目录 NAT的由来NAT基本工作机制NAT技术的分类推荐阅读 NAT的由来 随着物联网、工业互联网、5G的快速发展,网络应用对IP地址的需求呈现出爆炸式的增长。 然而,早在2011年,ICANN就发布公告称最后五组IP地址已分配完毕,已无IPv4…

常微分方程

什么是常微分方程: 未知函数为单变量(一元)函数 例1 设有温度为100摄氏度的物体放置在20摄氏度的空气冷却,求物体温度随时间 变化 的规律。 解:设t时刻物体温度为T 对两边求共积分 设比例系数为k>0 令C, 微分方程: 联系着…

如何删除英文键盘ENG

1.打开设置:时间和语言2.选择语言,查看首选列表,如果有多种语言,删除其他的语言就可以,如果只有中文,需要点击添加语言 3.选择安装的语言 这个时候点击英语,在选项中就可以看到它的默认键盘&…