dataX的安裝與使用

dataX的安裝與使用

Posted by Docker on 2020-09-18 08:30:00

1、官網下載地址:https://github.com/alibaba/DataX

  DataX 是阿里巴巴集團內被廣泛使用的離線數據同步工具/平台,實現包括MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各種異構數據源之間高效的數據同步功能。

  DataX本身作為數據同步框架,將不同數據源的同步抽象為從源頭數據源讀取數據的Reader插件,以及向目標端寫入數據的Writer插件,理論上DataX框架可以支持任意數據源類型的數據同步工作。同時DataX插件體係作為一套生態系統, 每接入一套新數據源該新加入的數據源即可實現和現有的數據源互通。

2、在頁面中【Quick Start】===》【Download DataX下載地址】進行下載。下載後的包名:datax.tar.gz。這個壓縮包還是有點大的,我下載的有790.95MB大小。

3、DataX目前已經有了比較全面的插件體系,主流的RDBMS數據庫、NOSQL、大數據計算系統都已經接入,目前支持數據如下圖:

類型 數據源 Reader(讀) Writer(寫) 文檔
RDBMS 關係型數據庫 的MySQL
            甲骨文         √         √    
  SQL服務器
  PostgreSQL的
  DRDS
  通用RDBMS(支持所有关系型数据库)
阿里云数仓数据存储 ODPS
  ADS  
  OSS
  OCS
NoSQL数据存储 OTS
  Hbase0.94
  Hbase1.1
  Phoenix4.x
  Phoenix5.x
  MongoDB
  Hive
  Cassandra
无结构化数据存储 TxtFile
  FTP
  HDFS
  Elasticsearch  
时间序列数据库 OpenTSDB  
  TSDB

4、将下载好的datax.tar.gz包上传到服务器,并进行解压缩操作,如下所示:

官网安装地址:https://github.com/alibaba/DataX/blob/master/userGuid.md

 

1  [root @ slaver1軟件包]#ll datax.tar.gz 
 2 -rw-r--r--。1根根829372407 7月   17  14:50 datax.tar.gz
 3 [根@ slaver1包]#焦油-zxvf datax.tar.gz -C /家/ hadoop的/軟/
 4  
5 [根@ slaver1包]#CD ../soft/
 6  [根@ slaver1軟]#LS
 7 cerebro- 0.7。2個   datax elasticsearch- 6.7。0   filebeat- 6.7。0 -linux-x86_64 kibana- 6.7。0 -linux-x86_64 logstash-6.7。0 
8 [root @ slaver1 soft]#cd datax /
 9  [root @ slaver1 datax]#ls
 10  bin conf job lib插件腳本tmp
 11  [root @ slaver1 datax]#ll
 12總用量4 
13 drwxr-xr-x。2  62265用戶    59 10月12  2019 bin
 14 drwxr-xr-x。2  62265用戶    68 10月12  2019 conf
 15 drwxr-xr-x。2  62265用戶    22 10月12  2019作業
 16 drwxr-xr-x。2  62265用戶4096 10月12  2019 lib
 17 drwxr-xr-x。4  62265用戶    34 2019年 10月12日 插件
 18 drwxr-xr-x。2 62265用戶    23 10月12 2019 腳本
 19 drwxr-XR-X。2 62265用戶    24 10月12 2019 tmp
 20 [root @ slaver1 datax]#    

 

5、將下載後的datax.tar.gz壓縮包直接解壓後就可以使用了,但是前提是要安裝好java、python的環境。

1)、由於此服務器之前已經安裝過Jdk1.8了,所以這裡就忽略了,jdk通常需要自己安裝的哦,如下所示:

1 [root @ slaver1 datax]#java- 版本
 2 openjdk版本“ 1.8.0_232 ” 
3 OpenJDK運行時環境(內部版本1.8 .0_232- b09)
 4 OpenJDK 64位服務器VM(內部版本25.232 - b09,混合模式)
 5 [root @ slaver1 datax]#

2)、Python(推薦Python2.7.X)一定要為Python2,因為後面執行datax.py的時候,裡面的P ython的print會執行不了,導致運行不成功,會提示你print語法要加括號, Python2中加不加都行,Python3中必須要加,否則報語法錯。python版本查看(通常系統自帶2.x版本)。

1 [root @ slaver1 datax]#python- V
 2 Python 2.7。5 
3 [root @ slaver1 datax]#

3)、Apache Maven 3.x (Compile DataX),通常需要自己安裝的哦。

下載Maven安裝包,然後進行解壓縮操作,可以自己改下名稱方便操作。

 

1 [root@slaver1 package]# wget http: // mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz 
2 -- 2020 - 07 - 17  15 : 10 : 29 -- http: // mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9 -bin.tar.gz 
3正在解析主機mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6 . 8.193 , 2402 :f000: 1 : 408 : 8100 :: 1 
4正在連接mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)| 101.6 . 8.193 |: 80 ...已連接。
5已發出HTTP請求,正在等待回應... 200 OK
 6長度:8491533 ( 8.1M ) [application/x- gzip]
 7正在保存至: “apache-maven- 3.3 . 9 - bin.tar.gz”
 8  
9  100 %[============================================== ================================================== ================================================== ====================================>] 8 , 491 , 533   6 .32MB/s用時1 .3s   
 10  
11  2020 - 07 - 17  15 : 10 : 31 ( 6.32 MB/s) -已保存“apache-maven- 3.3 . 9 -bin.tar.gz” [ 8491533 / 8491533 ] )
 12  
13 [root@slaver1 package]# tar -zxvf apache-maven- 3.3 . 9 -bin.tar.gz -C /home/hadoop/soft/

 

配置Maven的環境變量[root@slaver1 soft]# vim /etc/profile,如下所示:

1 M2_HOME = / home / hadoop / soft / apache-maven- 3.3。9 
2導出PATH = $ {M2_HOME} / bin:$ {PATH}

重新加載此配置文件,如下所示:

1 [root @ slaver1 soft]#源/ etc / 配置文件
 2 [root @ slaver1 soft]#

最後檢查Maven安裝是否成功,如下所示:

 

1 [根@ slaver1軟]#MVN - v
 2其中:無javac的在(/家/ hadoop的/軟/阿帕奇-maven- 3.3。9的/ usr / local / sbin中:在/ usr / local / bin中:/ bin中/ usr / sbin目錄:在/ usr / bin中:/根/ 箱)
 3警告:JAVA_HOME環境變量是未設置。
4 Apache Maven 3.3。9(bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015 - 11 -11T00:41:47 + 08:00 )
 5 Maven的家:/家庭/ hadoop的/軟/阿帕奇-maven- 3.3。9 
6 Java版本:1.8 .0_232,供應商:Oracle Corporation
 7 Java主頁:/ usr / lib / jvm / java- 1.8。0 -openjdk- 1.8。0.232 .b09- 0 .el7_7.x86_64 / JRE
 8默認語言區域:zh_CN的,平台編碼:UTF- 8 
9 OS名:“ linux的”,版本:“ 3.10.0-957.el7.x86_64 ”,拱:“ AMD64 ”,家庭:“ unix ” 
10 [root @ slaver1 soft]#

 

6、Jdk、Python、Maven都安裝成功了,datax解壓縮成功了,開始自檢,進入bin目錄,開始自檢,如下所示:

 

  1 [root @ slaver1 bin]#python datax.py ../job/ job.json 
   2  
  3 DataX(DATAX-OPENSOURCE- 3.0),來自阿里巴巴!
  4版權所有(C)2010年 - 2017年,阿里巴巴集團。版權所有。
  5  
  6  
  7  2020 - 07 - 17  15:33:06.296 [主要] INFO VMINFO - VMINFO#OperatingSystem的類 => sun.management.OperatingSystemImpl
   8  2020 - 07 - 17  15:33:06.322 [main] INFO引擎-計算機信息=> 
   9  
10      osInfo:Oracle Corporation 1.8  25.232 - b09
 11      jvmInfo:Linux amd64 3.10。0 - 957 .el7.x86_64
 12      CPU民:     2 
13  
14      totalPhysicalMemory: - 0 .00G
 15      freePhysicalMemory: - 0 .00G
 16      maxFileDescriptorCount: - 1 
17      currentOpenFileDescriptorCount: - 1 
18  
19     GC名稱[PS MarkSweep,PS Scavenge]
 20  
21      MEMORY_NAME | 分配大小| init_size                      
 22      PS伊甸園空間| 256 .00MB | 256 .00MB                       
 23      代碼緩存| 240 .00MB | 2 .44MB                         
 24      壓縮類空間| 1,024 .00MB | 0 .00MB                         
 25     PS倖存者空間| 42 .50MB | 42 .50MB                        
 26      PS Old Gen | 683 .00MB | 683 .00MB                       
 27元      空間| - 0 .00MB | 0 .00MB                         
 28  
29  
30  2020 - 07 - 17  15:33:06.379 [主要] INFO引擎- 
 31  {
 32      “ 的內容“ :[
 33          {
 34              ” reader “ :{
 35                  ” name “:” streamreader “ ,
 36                  ” parameter “ :{
 37                      ” column “ :[
 38                          {
 39                              ” type “:” string “ ,
 40                              ” value “:” DataX “ 
41                          },
42                         {
 43                              “ type ”:“ long ” ,
 44                              “ value ”:19890604 
45                          },
 46                          {
 47                              “ type ”:“ date ” ,
 48                              “ value ”:“ 1989-06-04 00:00:00 ” 
49                          },
 50                          {
 51                              “ 類型”:”bool “ ,
 52                              ” 值“:true 
53                          },
 54                          {
 55                              ” type “:” 字節“ ,
 56                              ” value “:” 測試“ 
57                          }
 58                      ],
 59                      ” sliceRecordCount “:100000 
60                  }
 61              },
 62              ”作家“ :{
 63                  ” name “:” streamwriter “ ,
 64                  ” parameter “ :{
 65                      ” encoding “:” UTF-8 “ ,
 66                      ” print “:false 
67                  }
 68              }
 69          }
 70      ],
 71      ” setting “ :{
 72          “ errorLimit ” :
{ 73              “百分比“:0.02 ,
 74              ” 記錄“:0 
75          },
 76          ” 速度“ :{
 77              ” 字節“:10485760 
78          }
 79      }
 80  }
 81  
82  2020 - 07 - 17  15:33:06.475 [主要] WARN引擎- prioriy 集到0,因為NumberFormatException異常,該值是:空
83  2020 - 07 - 17  15:33:06.480 [主要] INFO PerfTrace - PerfTrace traceId = job_- 1,isEnable = 假,優先權= 0 
84  2020 - 07 - 17  15:33:06.481 [主要] INFO JobContainer - DATAX jobContainer開始工作。
85  2020 - 07 - 17  15:33:06.495 [主要] INFO JobContainer -設置的jobId = 0 
86 2020 - 07 - 17  15:33:06.591 [求職0 ] INFO JobContainer - jobContainer開始做準備...
 87  2020 - 07 - 17  15:33:06.593 [求職0 ] INFO JobContainer - DATAX Reader.Job [ streamreader] 做準備工作。
88  2020 - 07 - 17  15:33:06.594 [求職0] INFO JobContainer-DataX Writer.Job [streamwriter] 做準備工作。
89  2020 - 07 - 17  15:33:06.594 [求職0 ] INFO JobContainer - jobContainer開始做分割...
 90  2020 - 07 - 17  15:33:06.598 [求職0 ] INFO JobContainer -作業設置 MAX-字節速度到10485760 字節
91  2020 - 07 - 17  15:33:06.604 [ job- 0 ]信息JobContainer-DataX Reader.Job [streamreader]拆分為[ 1 ]個任務。
92  2020 - 07 - 17  15:33:06.606 [求職0 ] INFO JobContainer - DATAX Writer.Job [的StreamWriter]分割至[ 1 ]的任務。
93  2020 - 07 - 17  15:33:06.678 [求職0 ] INFO JobContainer - jobContainer開始做時間表...
 94 2020 - 07 - 17  15:33:06.709 [求職0 ] INFO JobContainer -調度器開始[ 1 ] taskGroups。
95  2020 - 07 - 17  15:33:06.720 [求職0 ] INFO JobContainer - 通過獨立模式下運行。
96  2020 - 07 - 17  15:33:06.806 [taskGroup- 0 ] INFO TaskGroupContainer - taskGroupId = [ 0 ]開始[1個用於 [ 1 ]個任務的通道。
97  2020 - 07 - 17  15:33:06.830 [taskGroup- 0 ] INFO通道-通道組 byte_speed_limit到- 1 ,無BPS激活。
98  2020 - 07 - 17  15:33:06.831 [taskGroup- 0 ] INFO通道-通道組 record_speed_limit到- 1 ,無TPS激活。
99  2020 - 07- 17  15:33:06.882 [taskGroup- 0 ] INFO TaskGroupContainer -任務組[ 0 ]的TaskID [ 0 ] attemptCount [ 1 ] 被啟動
 100  2020 - 07 - 17  15:33:07.087 [taskGroup- 0 ] INFO TaskGroupContainer -任務組[ 0 ]的TaskID [ 0 ] 被 successed,使用[ 215 ] MS
 101  2020 - 07 - 17  15:33:07.088 [taskGroup- 0 ] INFO TaskGroupContainer -任務組[ 0 ]已完成它“ 小號任務。
102  2020 - 07 - 17  15:33:16.841 [求職0 ] INFO StandAloneJobContainerCommunicator -總100000記載,2600000字節| 速度253 .91KB / s,10000條記錄/ s | 錯誤0條記錄,0個字節| 所有任務WaitWriterTime 0 .148s | 所有任務WaitReaderTime 0.161s | 百分比100.00%
 103  2020 - 07 - 17  15:33:16.842 [求職0 ] INFO AbstractScheduler - 調度器來完成的所有任務。
104  2020 - 07 - 17  15:33:16.843 [求職0 ] INFO JobContainer - DATAX Writer.Job [StreamWriter的] 做後的工作。
105  2020 - 07 - 17  15:33:16.844 [求職0 ] INFO JobContainer-DataX Reader.Job [streamreader] 完成發布工作。
106  2020 - 07 - 17  15:33:16.845 [求職0 ] INFO JobContainer - DATAX作業ID [ 0 ]成功完成。
107  2020 - 07 - 17  15:33:16.846 [求職0 ] INFO HookInvoker -無鉤調用,因為基目錄不存在,或者是一個文件:/家庭/ hadoop的/軟/ DATAX / 鉤
 108  2020- 07 - 17  15:33:16.851 [求職0 ] INFO JobContainer - 
 109       [總的CPU信息] => 
 110          averageCpu | maxDeltaCpu | minDeltaCpu                    
 111          - 1.00%| - 1.00%| - 1.00%
 112                          
113  
114       [總GC信息] => 
 115           NAME | totalGCCount | maxDeltaGCCount | minDeltaGCCount | totalGCTime | maxDeltaGCTime |minDeltaGCTime     
 116           PS MarkSweep | 0                   | 0                   | 0                   | 0 .000秒| 0 .000秒| 0 .000s             
 117           PS清道夫| 0                   | 0                   | 0                   | 0 .000秒| 0 .000秒| 0 .000s             
 118  
119  2020 - 07 - 17  15:33:16.852 [ job- 0 ]信息JobContainer-PerfTrace無法啟用!
120  2020 - 07 - 17  15:33:16.854 [求職0 ] INFO StandAloneJobContainerCommunicator -總100000記載,2600000字節| 速度253 .91KB / s,10000條記錄/ s | 錯誤0條記錄,0個字節| 所有任務WaitWriterTime 0 .148s | 所有任務WaitReaderTime 0 .161s | 比例100.00%
 121  2020- 07 - 17  15 : 33 : 16.861 [job- 0 ] INFO JobContainer - 
 122任務啟動時刻: 2020 - 07 - 17  15 : 33 : 06 
123任務結束時刻: 2020 - 07 - 17  15 : 33 : 16 
124  任務總計耗時: 10s
 125任務平均流量:           253 .91KB/ s
 126記錄寫入速度: 10000rec/ s
 127讀出記錄總數:               100000 
128讀寫失敗總數:                    0 
129  
130 [root@slaver1 bin]#

 

7、如何實現mysql數據庫的數據表向mysql的數據庫的數據表傳輸數據呢,如下所示:

 

1  [根@ slaver1作業]#貓mysql2mysql.json 
 2  {
 3      “ 作業” :{
 4          “ 設置” :{
 5               “ 速度” :{
 6                  “ 字節”:1048576 ,
 7                  “ 信道”:“ 4 ” 
8              }
 9          },
 10          “ 內容” :[
 11              {
 12                  ” 閱讀器” :
{ 13                     “ 名稱”:“ mysqlreader ” ,
 14                      “ 參數” :{
 15                          “ 用戶名”:“ 根” ,
 16                          “ 密碼”:“ 123456 ” ,
 17                          “ 連接” :[
 18                              {
 19                                  “ querySql ” :[
 20                                      “SELECT id,table_name,part,source,start_time,next_time,target,start_batch,next_batch來自data_exchange_table_time “ 
21                                  ”,
 22                                  “ jdbcUrl ”:[ “ jdbc:mysql://192.168.110.133:3306 / book ” ]
 23                              }
 24                          ]
 25                      }
 26                  },
 27                  “ writer ” :{
 28                      “ name ”:“ mysqlwriter ” ,
 29                      “參數“ :{
 30                          ” writeMode “:” 插入“ ,
 31                          ” 列“ :[
 32                              ” id “ ,
 33                              ” table_name “ ,
 34                              ” part “ ,
 35                              ” source “ ,
 36                              ” start_time “ ,
 37                              ” next_time “ ,
 38                              ” 目標” ,
39                              英寸start_batch“ ,
 40                              ” next_batch “ 
41                          ”,
 42                          “ 連接” :[
 43                              {
 44                                  
45                                  “ jdbcUrl ”:“ jdbc:mysql://192.168.110.133:3306 / biehl ” ,
 46                                  “ 表”:[ “ data_exchange_table_time ” ]
 47                              }
 48                          ],
 49                          “ 用戶名”:“ 根“ ,
 50                          ” 密碼“:” 123456 “ ,
 51                          ” postSql “ :[],
 52                          ” preSql “ :[],
 53                      }
 54                  }
 55              }
 56          ],
 57      }
 58  }
 59 [root @ slaver1 job]#

 

執行命令,切記首先數據源數據表必須存在,然後目標數據庫的數據表結構一定要提前創建好,如下所示:

 

  1 [root @ slaver1 job]#python /home/hadoop/soft/datax/bin/datax.py / home / hadoop / soft / datax / job / mysql2mysql.json 
   2  
  3 DataX(DATAX-OPENSOURCE- 3.0),來自阿里巴巴!
  4版權所有(C)2010年 - 2017年,阿里巴巴集團。版權所有。
  5  
  6  
  7  2020 - 07 - 17  17:16:50.886 [主要] INFO VMINFO - VMINFO#OperatingSystem的類 => sun.management.OperatingSystemImpl
   8  2020 - 07 - 17 17:16:50.903 [main]信息引擎-機器信息=> 
   9  
10      osInfo:Oracle Corporation 1.8  25.232 - b09
 11      jvmInfo:Linux amd64 3.10。0 - 957 .el7.x86_64
 12      CPU民:     2 
13  
14      totalPhysicalMemory: - 0 .00G
 15      freePhysicalMemory: - 0 .00G
 16      maxFileDescriptorCount: - 1 
17      currentOpenFileDescriptorCount: - 1
18  
19      GC名稱[PS MarkSweep,PS Scavenge]
 20  
21      MEMORY_NAME | 分配大小| init_size                      
 22      PS伊甸園空間| 256 .00MB | 256 .00MB                       
 23      代碼緩存| 240 .00MB | 2 .44MB                         
 24      壓縮類空間| 1,024 .00MB | 0 .00MB                         
 25     PS倖存者空間| 42 .50MB | 42 .50MB                        
 26      PS Old Gen | 683 .00MB | 683 .00MB                       
 27元      空間| - 0 .00MB | 0 .00MB                         
 28  
29  
30  2020 - 07 - 17  17:16:50.954 [主要] INFO引擎- 
 31  {
 32      “ 的內容“ :[
 33          {
 34              ” reader “ :{
 35                  ” name “:” mysqlreader “ ,
 36                  ” parameter “ :{
 37                      ” connection “ :[
 38                          {
 39                              ” jdbcUrl “ :[
 40                                  ” jdbc:mysql://192.168。 110.133:3306 / book “ 
41                              ”,
 42                              “ querySql ” :
[ 43                                  “SELECT id,table_name,part,source,start_time,next_time,target,start_batch,next_batch來自data_exchange_table_time “ 
44                              ]
 45                          }
 46                      ],
 47                      ” password “:” ****** “ ,
 48                      ” username “:” root “ 
49                  }
 50              },
 51              “ writer ” :{
 52                  “ name ”:“mysqlwriter",
 53                 "parameter":{
 54                     "column":[
 55                         "id",
 56                         "table_name",
 57                         "part",
 58                         "source",
 59                         "start_time",
 60                         "next_time",
 61                         "target",
 62                         "start_batch",
 63                         "next_batch “ 
64                      ”,
 65                      “ 連接” :[
 66                          {
 67                              “ jdbcUrl ”:“ jdbc:mysql://192.168.110.133:3306 / biehl ” ,
 68                              “ 表” :[
 69                                  “ data_exchange_table_time ” 
70                              ]
 71                          }
 72                      ] ,
 73                      “ 密碼”:“****** “,
 74                      “ postSql ” :[],
 75                      “ preSql ” :[],
 76                      “ username ”:“ root ” ,
 77                      “ writeMode ”:“ insert ” 
78                  }
 79              }
 80          }
 81      ],
 82      “ setting ” :{
 83          “ 速度” :{
 84              “ 字節”:1048576 ,
 85              “ 的信道”:“ 4 ” 
86          }
 87      }
 88  }
 89  
90  2020 - 07 - 17  17:16:51.011 [主要] WARN引擎- prioriy 集到0,因為NumberFormatException異常,該值是:空
91  2020 - 07 - 17  17:16:51.014[主要] INFO PerfTrace - PerfTrace traceId = job_- 1,isEnable = 假,優先權= 0 
92  2020 - 07 - 17  17:16:51.015 [主要] INFO JobContainer - DATAX jobContainer開始工作。
93  2020 - 07 - 17  17:16:51.018 [主要] INFO JobContainer -設置的jobId = 0 
94  2020 - 07 - 17  17:16:51.678 [求職0] INFO OriginalConfPreprocessingUtil-可用的jdbcUrl:jdbc:mysql:// 192.168.110.133:3306/book?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true。
95  2020 - 07 - 17  17:16:52.118 [求職0 ] INFO OriginalConfPretreatmentUtil - 表:[data_exchange_table_time]所有列:[
 96  的ID,表名,部分,源,START_TIME,NEXT_TIME,目標,start_batch,next_batch
 97  ]。
98  2020 - 07 - 17  17:16:52.142[job- 0 ] INFO OriginalConfPreprocessingUtil- 寫入數據[
 99插入INTO%s(id,表名,部分,源,start_time,next_time,target,start_batch,next_batch)VALUES(?,?,?,?,?,?,? ,?,? )
 100 ],它JDBCURL等:[JDBC:MySQL的:// 192.168.110.133:3306/biehl?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true] 
101  2020 - 07 - 17  17:16:52.144 [作業- 0 ] INFO JobContainer - jobContainer開始做準備...
 102  2020 -07 - 17  17:16:52.146 [求職0 ] INFO JobContainer - DATAX Reader.Job [mysqlreader] 做準備工作。
103  2020 - 07 - 17  17:16:52.150 [求職0 ] INFO JobContainer - DATAX Writer.Job [mysqlwriter] 做準備工作。
104  2020 - 07 - 17  17:16:52.152 [求職0 ] INFO JobContainer - jobContainer開始做分裂...
 105  2020 - 07 - 17  17:16:52.157 [求職0 ] INFO JobContainer -作業設置最大字節速至1048576 字節。
106  2020 - 07 - 17  17:16:52.169 [求職0 ] INFO JobContainer - DATAX Reader.Job [mysqlreader]分割至[ 1 ]的任務。
107  2020 - 07 - 17  17:16:52.171 [求職0 ] INFO JobContainer-DataX Writer.Job [mysqlwriter]拆分為[ 1 ]個任務。
108  2020 - 07 - 17  17:16:52.221 [求職0 ] INFO JobContainer - jobContainer開始做時間表...
 109  2020 - 07 - 17  17:16:52.232 [求職0 ] INFO JobContainer -調度器開始[ 1 ] taskGroups。
110  2020 - 07 - 17  17:16:52.238 [ job- 0 ]信息JobContainer- 以獨立模式運行。
111  2020 - 07 - 17  17:16:52.270 [taskGroup- 0 ] INFO TaskGroupContainer - taskGroupId = [ 0 ]開始[ 1 ]通道為 [ 1 ]的任務。
112  2020 - 07 - 17  17:16:52.294 [taskGroup- 0 ] INFO通道-通道組 byte_speed_limit到-1 ,未激活bps。
113  2020 - 07 - 17  17:16:52.297 [taskGroup- 0 ] INFO通道-通道組 record_speed_limit到- 1 ,無TPS激活。
114  2020 - 07 - 17  17:16:52.332 [taskGroup- 0 ] INFO TaskGroupContainer -任務組[ 0 ]的TaskID [ 0 ] attemptCount [ 1 ] 被啟動
 115  2020 - 07- 17  17:16:52.340 [ 0 - 0 - 0 -reader] INFO CommonRdbmsReader $任務- 開始通過SQL讀取記錄:SELECT標識,TABLE_NAME部分,源,START_TIME,NEXT_TIME,目標,start_batch,next_batch FROM data_exchange_table_time 
 116 ] jdbcUrl:[jdbc:mysql:// 192.168.110.133:3306/book?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true]。
117  2020 - 07 - 17  17:16:56.814 [ 0 - 0 -0-讀取器] INFO CommonRdbmsReader $ Task- 通過Sql完成讀取記錄:[SELECT id,table_name,part,source,start_time,next_time,target,start_batch,next_batch from data_exchange_table_time 
 118 ] jdbcUrl:[jdbc:mysql:// 192.168.110.133 :3306 / book?yearIsDateType = false&zeroDateTimeBehavior = convertToNull&tinyInt1isBit = false&rewriteBatchedStatements = true]。
119  2020 - 07 - 17  17:16:56.971 [taskGroup- 0 ] INFO TaskGroupContainer -任務組[ 0 ]的TaskID [ 0 ] 被 successed,使用[ 4651 ] MS
 120 2020 - 07 - 17  17:16:56.972 [taskGroup- 0 ] INFO TaskGroupContainer -任務組[ 0 ]已完成它“ 小號任務。
121  2020 - 07 - 17  17:17:02.330 [求職0 ] INFO StandAloneJobContainerCommunicator -共計61086個記錄,4112902字節| 速度401 .65KB / s,6108條記錄/ s | 錯誤0條記錄,0個字節| 所有任務WaitWriterTime3 .495秒| 所有任務WaitReaderTime 0 .792s | 百分比100.00%
 122  2020 - 07 - 17  17:17:02.332 [求職0 ] INFO AbstractScheduler - 調度器來完成的所有任務。
123  2020 - 07 - 17  17:17:02.333 [求職0 ] INFO JobContainer - DATAX Writer.Job [mysqlwriter] 做後的工作。
124  2020 - 07 - 17  17:17:02.343 [ job- 0 ]信息JobContainer-DataX Reader.Job [mysqlreader] 完成發布工作。
125  2020 - 07 - 17  17:17:02.345 [求職0 ] INFO JobContainer - DATAX作業ID [ 0 ]成功完成。
126  2020 - 07 - 17  17:17:02.348 [求職0 ] INFO HookInvoker -無鉤調用,因為基目錄不存在,或者是一個文件:/家庭/ hadoop的/軟/ DATAX / 鉤
 127  2020 - 07 - 17  17:17:02.379 [求職0 ] INFO JobContainer - 
 128       [總的CPU信息] => 
 129          averageCpu | maxDeltaCpu | minDeltaCpu                    
 130          - 1.00%| - 1.00%| - 1.00%
 131                          
132  
133       [總GC信息] => 
 134          NAME | totalGCCount | maxDeltaGCCount | minDeltaGCCount | totalGCTime | maxDeltaGCTime | minDeltaGCTime     
 135           PS MarkSweep | 0                   | 0                   | 0                   | 0 .000秒| 0 .000秒| 0 .000s             
 136           PS清道夫| 1                   | 1                   | 1                   | 0 .044秒| 0 .044秒| 0.044s             
 137  
138  2020 - 07 - 17  17:17:02.379 [求職0 ] INFO JobContainer - PerfTrace不啟用!
139  2020 - 07 - 17  17:17:02.408 [求職0 ] INFO StandAloneJobContainerCommunicator -共計61086個記錄,4112902字節| 速度401 .65KB / s,6108條記錄/ s | 錯誤0條記錄,0個字節| 所有任務WaitWriterTime 3.495s | All Task WaitReaderTime 0 .792s | Percentage 100.00 %
 140  2020 - 07 - 17  17 : 17 : 02.454 [job- 0 ] INFO JobContainer - 
 141任務啟動時刻: 2020 - 07 - 17  17 : 16 : 51 
142任務結束時刻: 2020 - 07 - 17  17 : 17 : 02 
143  任務總計耗時: 11s
144任務平均流量:           401 .65KB/ s
 145記錄寫入速度: 6108rec/ s
 146讀出記錄總數:                61086 
147讀寫失敗總數:                    0 
148  
149 [root@slaver1 job]#

2020-08-1913:08:53 

使用datax將mysql的數據導入到mysql顯然是很簡單的,但是當我使用datax將postgresql的數據導入到postgresql的時候,發生了一系列的問題,這裡進行了簡單的記錄。

錯誤一:如果報ip、賬號、密碼、端口錯誤,很大可能是你寫錯了或者寫錯位置了(我的就是將密碼寫到賬號位置了,將賬號寫到密碼位置了)。

錯誤二:如果報某個字段不存在,很大概率是這樣的,官方案例是小寫的,但是postgresql大小寫敏感的,如果字段是大寫的,需要進行轉義,不論是表輸入還是表輸出都需要進行轉義的。

錯誤三:如果是報某個表不存在,此時需要將數據庫的schema寫上,寫到數據表的前面,因為postgresql多了一個schema的概念。

1  {
 2      “ 作業” :{
 3          “ 設定” :{
 4               “ 速度” :{
 5                  “ 字節”:1048576 ,
 6                  “ 信道”:“ 4 ” 
7              }
 8          },
 9          “ 內容” :[
 10              {
 11                  “ 讀者“ :{
 12                      ” 名稱“:“ postgresqlreader ” ,
 13                      “ 參數” :{
 14                          “ 用戶名”:“ 賬號” ,
 15                          “ 密碼”:“ 密碼” ,
 16                          “ ,其中”:“” ,
 17                          “ 連接” :[
 18                              {
 19                                  “ querySQL所” :[
 20                                      “從public.person中選擇\“ ID \”,\“名稱\”,\“年齡\”,其中\“ ID \”> 1; “ 
21                                  ],
 22                                  ” jdbcUrl “ :[
 23                                      ” jdbc:postgresql://192.168.109.106:5432 / postgres “ 
24                                  ]
 25                              }
 26                          ]
 27                      }
 28                  },
 29                  ” writer “ :{
 30                      ” name “:”31                      “ 參數” :{
 32                          “ 打印”:真,
 33                          “ 編碼”:“ UTF-8 ” ,
 34 “ 用戶名”:“ 賬號” ,
 35 “ 密碼”:“ 密碼” ,
 36 “ 柱” :[
 37 “ \“ ID \” “ ,
 38 ” \“名稱\“ ” ,
 39                                                                                                                                                                  “ \” Age \“ ” 
40                      ],
 41                      “ 連接” :[
 42                          {
 43                              “ jdbcUrl ”:“ jdbc:postgresql://192.168.109.106:5432 / postgres ” ,
 44                              “ 表”:[ “ public .person_copy ”]
 45                          }
 46                      ]
 47                      }
 48                  }
 49              }
 50         ]
 51      }
 52 }

注意事項:1)、reader > name的值是postgresqlreader,writer > name的值是 postgresqlwriter。

2)、reader/writer > parameter > username和password的值不要寫反了。

3)、reader > parameter > connection的querySql的數據表字段如果是大寫的需要進行轉義的。writer > parameter > column的數據表字段如果是大寫的需要進行轉義的。

4)、reader > parameter > connection的jdbcUrl的jdbc:postgresql://127.0.0.1:5432/postgres後面這個是數據庫的名稱哦,如果數據庫的名稱和schema的名稱不一致記得區分,別搞混了。

5)、reader > parameter > connection的querySql裡面寫的sql語句,數據表前面跟的是schema的名稱,別搞混了。writer > connection > table裡面的數據表前面跟的是schema的名稱,別搞混了。