dataX mysql驱动5.x升级8.x步骤及遇到问题

升级背景

dolphinscheduler datax 执行报错

提示应使用新的驱动版本,现有驱动是5.x,数据库却是8.x,因此报错

2021-12-14 10:52:08.639 [main] WARN  Engine - prioriy set to 0, because NumberFormatException, the value is: null
2021-12-14 10:52:08.640 [main] INFO  PerfTrace - PerfTrace traceId=job_-1, isEnable=false, priority=0
2021-12-14 10:52:08.640 [main] INFO  JobContainer - DataX jobContainer starts job.
2021-12-14 10:52:08.641 [main] INFO  JobContainer - Set jobId = 0
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

全部替换驱动包为高版本后,依然报相同的错

[dolphinscheduler@host1 datax]$ find . -name mysql*
./plugin/reader/mysqlreader
./plugin/reader/mysqlreader/libs/mysql-connector-java-8.0.25.jar
./plugin/reader/mysqlreader/mysqlreader-0.0.1-SNAPSHOT.jar
./plugin/reader/drdsreader/libs/mysql-connector-java-8.0.25.jar
./plugin/writer/mysqlwriter
./plugin/writer/mysqlwriter/libs/mysql-connector-java-8.0.25.jar
./plugin/writer/mysqlwriter/mysqlwriter-0.0.1-SNAPSHOT.jar
./plugin/writer/drdswriter/libs/mysql-connector-java-8.0.25.jar
./plugin/writer/adswriter/libs/mysql-connector-java-8.0.25.jar
[dolphinscheduler@host1 datax]$ 

版本升级

下载datax源码

下载地址https://github.com/alibaba/DataX.git

导入工程,修改配置

修改pom.xml文件,全文搜索mysql-connector-java关键字,修改版本号为8.0.25
在这里插入图片描述

在这里插入图片描述
修改java文件,全文替换com.mysql.jdbc.Driver为com.mysql.cj.jdbc.Driver
在这里插入图片描述
在这里插入图片描述

驱动升级后,修改报错代码AdsInsertProxy.java

导入相应类,并对应进行修改

import com.mysql.cj.jdbc.JdbcPreparedStatement;
import com.mysql.cj.jdbc.exceptions.CommunicationsException;

.asSql()改成.toString();
在这里插入图片描述

//sql = ((JDBC4PreparedStatement) statement).asSql();
sql = ((JdbcPreparedStatement) statement).toString();
//retryExceptionClasss.add(com.mysql.jdbc.exceptions.jdbc4.CommunicationsException.class);
retryExceptionClasss.add(CommunicationsException.class);

编译项目

clean install -Prelease assembly:assembly

在这里插入图片描述

验证项目

驱动包版本
在这里插入图片描述

部署环境验证
版本包大小一个G,待验证
在这里插入图片描述
上传两小时,验证一分钟,错误解决

[INFO] 2021-12-14 18:23:33.454  - [taskAppId=TASK-16-4850-48955]:[127] - task dir : /tmp/dolphinscheduler/exec/process/3/16/4850/48955
[INFO] 2021-12-14 18:23:33.454  - [taskAppId=TASK-16-4850-48955]:[141] - datax task params {"targetTable":"t_ds_user_datax","postStatements":[],"jobSpeedRecord":1000,"dtType":"MYSQL","dsType":"MYSQL","jobSpeedByte":0,"dataSource":1,"dataTarget":6,"sql":"select user_name from t_ds_user where id=1  ;","preStatements":["truncate table t_ds_user_datax;"]}
[INFO] 2021-12-14 18:23:33.464  - [taskAppId=TASK-16-4850-48955]:[105] - tenantCode user:lwexecut, task dir:16_4850_48955
[INFO] 2021-12-14 18:23:33.464  - [taskAppId=TASK-16-4850-48955]:[109] - create command file:/tmp/dolphinscheduler/exec/process/3/16/4850/48955/16_4850_48955.command
[INFO] 2021-12-14 18:23:33.464  - [taskAppId=TASK-16-4850-48955]:[128] - command : #!/bin/sh
BASEDIR=$(cd `dirname $0`; pwd)
cd $BASEDIR
source /home/dolphinscheduler/app/dolphinscheduler/conf/env/dolphinscheduler_env.sh
/tmp/dolphinscheduler/exec/process/3/16/4850/48955/16_4850_48955_node.sh
[INFO] 2021-12-14 18:23:33.467  - [taskAppId=TASK-16-4850-48955]:[375] - task run command:
sudo -u lwexecut sh /tmp/dolphinscheduler/exec/process/3/16/4850/48955/16_4850_48955.command
[INFO] 2021-12-14 18:23:33.473  - [taskAppId=TASK-16-4850-48955]:[160] - process start, process id is: 299030
[INFO] 2021-12-14 18:23:33.819  - [taskAppId=TASK-16-4850-48955]:[109] -  -> 
	DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
	Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.
	
	
	2021-12-14 18:23:33.803 [main] INFO  VMInfo - VMInfo# operatingSystem class => sun.management.OperatingSystemImpl
	2021-12-14 18:23:33.808 [main] INFO  Engine - the machine info  => 
	
		osInfo:	Oracle Corporation 1.8 25.151-b12
		jvmInfo:	Linux amd64 3.10.0-693.el7.x86_64
		cpu num:	80
	
		totalPhysicalMemory:	-0.00G
		freePhysicalMemory:	-0.00G
		maxFileDescriptorCount:	-1
		currentOpenFileDescriptorCount:	-1
	
		GC Names	[PS MarkSweep, PS Scavenge]
	
		MEMORY_NAME                    | allocation_size                | init_size                      
		PS Eden Space                  | 256.00MB                       | 256.00MB                       
		Code Cache                     | 240.00MB                       | 2.44MB                         
		Compressed Class Space         | 1,024.00MB                     | 0.00MB                         
		PS Survivor Space              | 42.50MB                        | 42.50MB                        
		PS Old Gen                     | 683.00MB                       | 683.00MB                       
		Metaspace                      | -0.00MB                        | 0.00MB                         
	
	
	2021-12-14 18:23:33.819 [main] INFO  Engine - 
	{
		"content":[
			{
				"reader":{
					"name":"mysqlreader",
					"parameter":{
						"connection":[
							{
								"jdbcUrl":[
									"jdbc:mysql://192.168.3.8:3306/dolphinscheduler_db"
								],
								"querySql":[
									"select user_name from t_ds_user where id=1  ;"
								]
							}
						],
						"password":"******",
						"username":"dolphinscheduler"
					}
				},
				"writer":{
					"name":"mysqlwriter",
					"parameter":{
						"column":[
							"`user_name`"
						],
						"connection":[
							{
								"jdbcUrl":"jdbc:mysql://192.168.3.8:3306/dolphinscheduler_db",
								"table":[
									"t_ds_user_datax"
								]
							}
						],
						"password":"******",
[INFO] 2021-12-14 18:23:44.378  - [taskAppId=TASK-16-4850-48955]:[109] -  -> 					"preSql":[
							"truncate table t_ds_user_datax;"
						],
						"username":"dolphinscheduler"
					}
				}
			}
		],
		"setting":{
			"errorLimit":{
				"percentage":0,
				"record":0
			},
			"speed":{
				"channel":1,
				"record":1000
			}
		}
	}
	
	2021-12-14 18:23:33.829 [main] WARN  Engine - prioriy set to 0, because NumberFormatException, the value is: null
	2021-12-14 18:23:33.830 [main] INFO  PerfTrace - PerfTrace traceId=job_-1, isEnable=false, priority=0
	2021-12-14 18:23:33.831 [main] INFO  JobContainer - DataX jobContainer starts job.
	2021-12-14 18:23:33.832 [main] INFO  JobContainer - Set jobId = 0
	2021-12-14 18:23:34.154 [job-0] INFO  OriginalConfPretreatmentUtil - Available jdbcUrl:jdbc:mysql://192.168.3.8:3306/dolphinscheduler_db?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true.
	2021-12-14 18:23:34.276 [job-0] INFO  OriginalConfPretreatmentUtil - table:[t_ds_user_datax] all columns:[
	id,user_name,user_password,user_type,email,phone,tenant_id,create_time,update_time,queue
	].
	2021-12-14 18:23:34.289 [job-0] INFO  OriginalConfPretreatmentUtil - Write data [
	INSERT INTO %s (`user_name`) VALUES(?)
	], which jdbcUrl like:[jdbc:mysql://192.168.3.8:3306/dolphinscheduler_db?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&rewriteBatchedStatements=true&tinyInt1isBit=false]
	2021-12-14 18:23:34.289 [job-0] INFO  JobContainer - jobContainer starts to do prepare ...
	2021-12-14 18:23:34.289 [job-0] INFO  JobContainer - DataX Reader.Job [mysqlreader] do prepare work .
	2021-12-14 18:23:34.289 [job-0] INFO  JobContainer - DataX Writer.Job [mysqlwriter] do prepare work .
	2021-12-14 18:23:34.299 [job-0] INFO  CommonRdbmsWriter$Job - Begin to execute preSqls:[truncate table t_ds_user_datax;]. context info:jdbc:mysql://192.168.3.8:3306/dolphinscheduler_db?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&rewriteBatchedStatements=true&tinyInt1isBit=false.
	2021-12-14 18:23:34.307 [job-0] INFO  JobContainer - jobContainer starts to do split ...
	2021-12-14 18:23:34.307 [job-0] INFO  JobContainer - Job set Max-Record-Speed to 1000 records.
	2021-12-14 18:23:34.309 [job-0] INFO  JobContainer - DataX Reader.Job [mysqlreader] splits to [1] tasks.
	2021-12-14 18:23:34.309 [job-0] INFO  JobContainer - DataX Writer.Job [mysqlwriter] splits to [1] tasks.
	2021-12-14 18:23:34.319 [job-0] INFO  JobContainer - jobContainer starts to do schedule ...
	2021-12-14 18:23:34.363 [job-0] INFO  JobContainer - Scheduler starts [1] taskGroups.
	2021-12-14 18:23:34.365 [job-0] INFO  JobContainer - Running by standalone Mode.
	2021-12-14 18:23:34.368 [taskGroup-0] INFO  TaskGroupContainer - taskGroupId=[0] start [1] channels for [1] tasks.
	2021-12-14 18:23:34.370 [taskGroup-0] INFO  Channel - Channel set byte_speed_limit to -1, No bps activated.
	2021-12-14 18:23:34.370 [taskGroup-0] INFO  Channel - Channel set record_speed_limit to 1000.
	2021-12-14 18:23:34.375 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[0] attemptCount[1] is started
	2021-12-14 18:23:34.378 [0-0-0-reader] INFO  CommonRdbmsReader$Task - Begin to read record by Sql: [select user_name from t_ds_user where id=1  ;
	] jdbcUrl:[jdbc:mysql://192.168.3.8:3306/dolphinscheduler_db?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
	2021-12-14 18:23:34.404 [0-0-0-reader] INFO  CommonRdbmsReader$Task - Finished read record by Sql: [select user_name from t_ds_user where id=1  ;
	] jdbcUrl:[jdbc:mysql://192.168.3.8:3306/dolphinscheduler_db?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
	2021-12-14 18:23:34.677 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[0] is successed, used[303]ms
	2021-12-14 18:23:34.677 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] completed it's tasks.
	2021-12-14 18:23:44.378 [job-0] INFO  StandAloneJobContainerCommunicator - Total 1 records, 5 bytes | Speed 0B/s, 0 records/s | Error 0 records, 0 bytes |  All Task WaitWriterTime 0.000s |  All Task WaitReaderTime 0.000s | Percentage 100.00%
[INFO] 2021-12-14 18:23:44.394  - [taskAppId=TASK-16-4850-48955]:[109] -  -> 2021-12-14 18:23:44.378 [job-0] INFO  AbstractScheduler - Scheduler accomplished all tasks.
	2021-12-14 18:23:44.378 [job-0] INFO  JobContainer - DataX Writer.Job [mysqlwriter] do post work.
	2021-12-14 18:23:44.378 [job-0] INFO  JobContainer - DataX Reader.Job [mysqlreader] do post work.
	2021-12-14 18:23:44.378 [job-0] INFO  JobContainer - DataX jobId [0] completed successfully.
	2021-12-14 18:23:44.379 [job-0] INFO  HookInvoker - No hook invoked, because base dir not exists or is a file: /home/dolphinscheduler/app/datax/hook
	2021-12-14 18:23:44.380 [job-0] INFO  JobContainer - 
		 [total cpu info] => 
			averageCpu                     | maxDeltaCpu                    | minDeltaCpu                    
			-1.00%                         | -1.00%                         | -1.00%
	                        
	
		 [total gc info] => 
			 NAME                 | totalGCCount       | maxDeltaGCCount    | minDeltaGCCount    | totalGCTime        | maxDeltaGCTime     | minDeltaGCTime     
			 PS MarkSweep         | 1                  | 1                  | 1                  | 0.025s             | 0.025s             | 0.025s             
			 PS Scavenge          | 1                  | 1                  | 1                  | 0.015s             | 0.015s             | 0.015s             
	
	2021-12-14 18:23:44.380 [job-0] INFO  JobContainer - PerfTrace not enable!
	2021-12-14 18:23:44.380 [job-0] INFO  StandAloneJobContainerCommunicator - Total 1 records, 5 bytes | Speed 0B/s, 0 records/s | Error 0 records, 0 bytes |  All Task WaitWriterTime 0.000s |  All Task WaitReaderTime 0.000s | Percentage 100.00%
	2021-12-14 18:23:44.380 [job-0] INFO  JobContainer - 
	任务启动时刻                    : 2021-12-14 18:23:33
	任务结束时刻                    : 2021-12-14 18:23:44
	任务总计耗时                    :                 10s
	任务平均流量                    :                0B/s
	记录写入速度                    :              0rec/s
	读出记录总数                    :                   1
	读写失败总数                    :                   0
	
[INFO] 2021-12-14 18:23:44.394  - [taskAppId=TASK-16-4850-48955]:[170] - process has exited, work dir:/tmp/dolphinscheduler/exec/process/3/16/4850/48955, pid:299030 ,exitStatusCode:0
[INFO] 2021-12-14 18:23:44.400  - [taskAppId=TASK-16-4850-48955]:[277] - process id is 299030

猜你喜欢

转载自blog.csdn.net/qq_36434219/article/details/121932186