异构数据库之Datax与Datax_web的部署以及使用说明
DataX介绍:
DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
DataX设计理念
DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时DataX插件体系作为一套生态系统, 每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。
DataX插件体系
DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入,目前支持数据如下图。
DataX部署
-
JDK(1.8以上,推荐1.8)
-
Python(推荐Python2.6.X)
-
Apache Maven 3.x(编译DataX)
# yum search java|grep jdk # yum install java-1.8.0-openjdk -y # java -version openjdk version "1.8.0_222" OpenJDK Runtime Environment (build 1.8.0_222-b10) OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
[root@stephen ~]# python --version Python 2.7.5
[root@stephen ~]# ls apache-maven-3.6.1-bin.tar.gz [root@stephen ~]# tar -xvzf apache-maven-3.6.1-bin.tar.gz 在vi /etc/profile.d/maven.sh添加 export M2_HOME=/opt/maven export PATH=${M2_HOME}/bin:${PATH} [root@stephen maven]# mvn -v Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-05T03:00:29+08:00) Maven home: /opt/maven Java version: 1.8.0_222, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-514.26.2.el7.x86_64", arch: "amd64", family: "unix"
[root@stephen opt]# tar -xvzf datax.tar.gz [root@stephen opt]# ls datax bin conf job lib log log_perf plugin script tmp 当测试显示以下内容是,说明datax已经安装成功 [root@stephen datax]# python bin/datax.py job/job.json DataX (DATAX-OPENSOURCE-3.0), From Alibaba ! Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved. .....显示省略..... 2019-08-21 12:08:36.709 [job-0] INFO JobContainer - 任务启动时刻 : 2019-08-21 12:08:26 任务结束时刻 : 2019-08-21 12:08:36 任务总计耗时 : 10s 任务平均流量 : 253.91KB/s 记录写入速度 : 10000rec/s 读出记录总数 : 100000 读写失败总数 : 0
[root@roobbin src]# tar xf datax-web-2.1.2.tar.gz [root@roobbin src]# ls -lsa 总用量 1078932 0 drwxr-xr-x. 3 root root 204 10月 17 09:59 . 0 drwxr-xr-x. 15 root root 177 10月 16 22:50 .. 9284 -rw-r--r--. 1 root root 9506321 11月 20 2019 apache-maven-3.6.3-bin.tar.gz 22716 -rw-r--r--. 1 root root 23257692 5月 23 2019 DataX-master.zip 0 drwxr-xr-x. 4 root root 69 10月 17 09:59 datax-web-2.1.2 212468 -rw-r--r--. 1 root root 217566120 10月 16 23:28 datax-web-2.1.2.tar.gz 185292 -rw-r--r--. 1 root root 189736377 7月 1 2018 jdk-8u151-linux-x64.tar.gz 649172 -rw-r--r--. 1 root root 664749587 6月 10 14:44 mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz [root@roobbin src]# mv datax-web-2.1.2 ../ [root@roobbin src]# cd ../datax-web-2.1.2/ [root@roobbin datax-web-2.1.2]# ls -lsa 总用量 28 0 drwxr-xr-x. 4 root root 69 10月 17 09:59 . 0 drwxr-xr-x. 16 root root 200 10月 17 09:59 .. 0 drwxrwxrwx. 3 root root 104 6月 23 13:44 bin 0 drwxr-xr-x. 2 root root 77 10月 17 09:59 packages
[root@roobbin datax-web-2.1.2]# ./bin/install.sh 2020-10-17 10:00:09.430 [INFO] (22745) Creating directory: [/usr/local/datax-web-2.1.2/bin/../modules]. 2020-10-17 10:00:09.459 [INFO] (22745) ####### Start To Uncompress Packages ###### 2020-10-17 10:00:09.462 [INFO] (22745) Uncompressing.... Do you want to decompress this package: [datax-admin_2.1.2_1.tar.gz]? (Y/N)y 2020-10-17 10:00:17.298 [INFO] (22745) Uncompress package: [datax-admin_2.1.2_1.tar.gz] to modules directory Do you want to decompress this package: [datax-executor_2.1.2_1.tar.gz]? (Y/N)
需要填写数据库的各项配置,按照提示进行输入
[root@localhost datax-web-2.1.2]# cd bin/ [root@localhost bin]# ll 总用量 36 -rw-r--r--. 1 root root 8842 11月 2 13:44 console.out drwxrwxrwx. 2 root root 27 10月 30 10:14 db -rwxr-xr-x. 1 root root 6921 6月 23 13:44 install.sh -rwxr-xr-x. 1 root root 773 6月 23 13:44 start-all.sh -rwxr-xr-x. 1 root root 1871 6月 23 13:44 start.sh -rwxr-xr-x. 1 root root 770 6月 23 13:44 stop-all.sh -rwxr-xr-x. 1 root root 1862 6月 23 13:44 stop.sh [root@localhost bin]# [root@localhost bin]# [root@localhost bin]# [root@localhost bin]# ./start-all.sh 可以看到端口9527启动
登陆用户名admin 密码123456
创建项目并且执行查看日志显示如下报错导致无法执行成功 [AnalysisStatistics.analysisStatisticsLog-53] /usr/bin/python: can't find '_main_'
解决方法如下
[root@localhost conf]# pwd /root/datax-web-2.1.2/modules/datax-executor/conf [root@localhost conf]# vim application.yml # web port server: port: ${server.port} #port: 8081 # log config logging: config: classpath:logback.xml path: ${data.path}/applogs/executor/jobhandler #path: ./data/applogs/executor/jobhandler datax: job: admin: ### datax admin address list, such as "http://address" or "http://address01,http://address02" #addresses: http://127.0.0.1:8080 addresses: http://127.0.0.1:${datax.admin.port} executor: appname: datax-executor ip: #port: 9999 port: ${executor.port:9999} ### job log path #logpath: ./data/applogs/executor/jobhandler logpath: ${data.path}/applogs/executor/jobhandler ### job log retention days logretentiondays: 30 ### job, access token accessToken: executor: #jsonpath: D:\\temp\\executor\\json\\ jsonpath: ${json.path} #pypath: F:\tools\datax\bin\datax.py pypath: /root/datax/bin/datax.py
分类:
冲鸭,数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!