异构数据库之Datax与Datax_web的部署以及使用说明

DataX介绍:

DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。

DataX设计理念

DataX本身作为数据同步框架,将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件,理论上DataX框架可以支持任意数据源类型的数据同步工作。同时DataX插件体系作为一套生态系统, 每接入一套新数据源该新加入的数据源即可实现和现有的数据源互通。

img

 

DataX插件体系

DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入,目前支持数据如下图。

img

DataX部署

  • JDK(1.8以上,推荐1.8)

  • Python(推荐Python2.6.X)

  • Apache Maven 3.x(编译DataX)

安装JDK

# 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)

安装Python

[root@stephen ~]# python --version
Python 2.7.5

安装Apache Maven 3.x

复制代码
[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"
复制代码

开始安装DataX

复制代码
[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
复制代码

开始安装DataX_Web

复制代码
[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
复制代码

执行安装脚本(需要安装数据库mysql)

[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)

需要填写数据库的各项配置,按照提示进行输入

启动DataX_web

复制代码
[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启动
复制代码

进入可视化界面

http://192.168.17.171:9527/index.html#/dashboard

登陆用户名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
复制代码

 

posted @   余球球  阅读(5394)  评论(3编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示