如何把现有数据库迁移到OceanBase?使用DataX同步MySQL分库分表到OceanBase环境

2024年 5月 7日 38.5k 0

作者简介:木子相心,具有多年数据库运维经验,擅长MySQL、Redis 的日常运维、高可用和备份方案,目前在持续学习OceanBase运维,现在一互联网公司从事DBA运维的工作。

如果你已经接触一段时间 OceanBase 的安装测试等,有没有想把现有的数据库迁移到 OceanBase 环境玩玩?如果有这种想法,那么我们需要一款支持异构环境(MySQL,Oracle等)数据库迁移到 OceanBase 的高效稳定同步工具。生产环境有更好的 OMS 可以使用,鉴于大多数同学可能跟本人一样目前没有商业版的环境,这里使用阿里开源的 DataX 同步工具来完成将 MySQL 数据同步到 OceanBase 集群。

说明:由于目前的 DataX 二进制包里不含 oceanbasev10reader 和 oceanbasev10writer 插件,需要源码编译后方可使用。

1、源码安装

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

1.1. 若没有 git 环境,先安装一下。

[root@test datax_code2]# yum install git -y
[root@test datax_code2]#

1.2 git clone git@github.com:alibaba/DataX.git

[root@test datax_code2]# git clone git@github.com:alibaba/DataX.git
正克隆到 'DataX'...
The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
RSA key fingerprint is MD5:16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
 
Please make sure you have the correct access rights
and the repository exists.

登录个人的 github 账号,点击头像,选择 Settings,选择 SSH and GPS keys,添加一个 ssh key,将执行 git 命令的机器上对应用户的公钥(/root/.ssh/id_rsa.pub)内容拷贝到 github 网页。

再次执行成功。

[root@test datax_code2]# git clone git@github.com:alibaba/DataX.git
正克隆到 'DataX'...
Warning: Permanently added the RSA host key for IP address '20.205.243.166' to the list of known hosts.
remote: Enumerating objects: 2977, done.
remote: Counting objects: 100% (190/190), done.
remote: Compressing objects: 100% (115/115), done.
remote: Total 2977 (delta 41), reused 135 (delta 23), pack-reused 2787
接收对象中: 100% (2977/2977), 18.93 MiB | 5.23 MiB/s, done.
处理 delta 中: 100% (770/770), done.
[root@test datax_code2]#

1.3 通过maven打包

wget https://dlcdn.apache.org/maven/maven-3/3.8.2/binaries/apache-maven-3.8.2-bin.tar.gz

如果版本不可用,可以登录 http://maven.apache.org/download.cgi 选择可用的版本。

[root@test opt]# tar zxf apache-maven-3.8.2-bin.tar.gz
[root@test opt]# cd apache-maven-3.8.2
[root@test apache-maven-3.8.2]# ll
总用量 36
drwxr-xr-x. 2 root root    97 818 17:58 bin
drwxr-xr-x. 2 root root    76 818 17:58 boot
drwxr-xr-x. 3 root root    63 85 02:57 conf
drwxr-xr-x. 3 root root  4096 818 17:58 lib
-rw-r--r--. 1 root root 17511 85 02:57 LICENSE
-rw-r--r--. 1 root root  5141 85 02:57 NOTICE
-rw-r--r--. 1 root root  2612 85 02:57 README.txt
[root@test bin]# ln -s /opt/apache-maven-3.8.2/bin/mvn /usr/bin/mvn
 
[root@test DataX]# mvn -U clean package assembly:assembly -Dmaven.test.skip=true
which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
The JAVA_HOME environment variable is not defined correctly,
this environment variable is needed to run this program.
[root@test DataX]#

下载 JDK https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html

[root@test ~]# java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
[root@test ~]#

[root@test DataX]# pwd
/opt/datax_code2/DataX
[root@test DataX]# mvn -U clean package assembly:assembly -Dmaven.test.skip=true

说明:如果想一次性打包成功,经过测试可以直接把不需要的插件删除掉

[root@test DataX]# pwd
/opt/datax_code2/DataX/pom.xml

删除<module>hdfsreader</module>

删除<module>hdfswriter</module>

删除<module>oscarwriter</module>

第一次执行报错

#第一次执行报错
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  03:06 min
[INFO] Finished at: 2021-08-18T18:14:03+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project hdfsreader: Could not resolve dependencies for project com.alibaba.datax:hdfsreader:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at org.apache.hive:hive-exec:jar:1.1.1 -> org.apache.calcite:calcite-core:jar:1.0.0-incubating -> org.apache.calcite:calcite-avatica:jar:1.0.0-incubating -> eigenbase:eigenbase-properties:jar:1.1.4: Failed to read artifact descriptor for eigenbase:eigenbase-properties:jar:1.1.4: Could not transfer artifact eigenbase:eigenbase-properties:pom:1.1.4 from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [datanucleus (http://www.datanucleus.org/downloads/maven2, default, releases), glassfish-repository (http://maven.glassfish.org/content/groups/glassfish, default, disabled), glassfish-repo-archive (http://maven.glassfish.org/content/groups/glassfish, default, disabled), apache.snapshots (http://repository.apache.org/snapshots, default, snapshots), conjars (http://conjars.org/repo, default, releases+snapshots)] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :hdfsreader
[root@test DataX]#

第二次执行报错

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  02:24 min
[INFO] Finished at: 2021-08-18T18:17:31+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project hdfswriter: Could not resolve dependencies for project com.alibaba.datax:hdfswriter:jar:0.0.1-SNAPSHOT: Failed to collect dependencies at org.apache.hive:hive-exec:jar:1.1.1 -> org.apache.calcite:calcite-core:jar:1.0.0-incubating -> org.apache.calcite:calcite-avatica:jar:1.0.0-incubating -> eigenbase:eigenbase-properties:jar:1.1.4: Failed to read artifact descriptor for eigenbase:eigenbase-properties:jar:1.1.4: Could not transfer artifact eigenbase:eigenbase-properties:pom:1.1.4 from/to maven-default-http-blocker (http://0.0.0.0/): Blocked mirror for repositories: [datanucleus (http://www.datanucleus.org/downloads/maven2, default, releases), glassfish-repository (http://maven.glassfish.org/content/groups/glassfish, default, disabled), glassfish-repo-archive (http://maven.glassfish.org/content/groups/glassfish, default, disabled), apache.snapshots (http://repository.apache.org/snapshots, default, snapshots), conjars (http://conjars.org/repo, default, releases+snapshots)] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :hdfswriter
[root@test DataX]#

第三次执行报错

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  02:46 min
[INFO] Finished at: 2021-08-18T18:21:23+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project oscarwriter: Could not resolve dependencies for project com.alibaba.datax:oscarwriter:jar:0.0.1-SNAPSHOT: Could not find artifact com.oscar:oscar:jar:7.0.8 at specified path /opt/datax_code2/DataX/oscarwriter/src/main/lib/oscarJDBC.jar -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :oscarwriter
[root@test DataX]#

第四次执行成功

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] datax-all 0.0.1-SNAPSHOT ........................... SUCCESS [01:57 min]
[INFO] datax-common 0.0.1-SNAPSHOT ........................ SUCCESS [  1.981 s]
[INFO] datax-transformer 0.0.1-SNAPSHOT ................... SUCCESS [  1.095 s]
[INFO] datax-core 0.0.1-SNAPSHOT .......................... SUCCESS [  2.626 s]
[INFO] plugin-rdbms-util 0.0.1-SNAPSHOT ................... SUCCESS [  1.055 s]
[INFO] mysqlreader 0.0.1-SNAPSHOT ......................... SUCCESS [  0.872 s]
[INFO] drdsreader 0.0.1-SNAPSHOT .......................... SUCCESS [  0.996 s]
[INFO] sqlserverreader 0.0.1-SNAPSHOT ..................... SUCCESS [  1.237 s]
[INFO] postgresqlreader 0.0.1-SNAPSHOT .................... SUCCESS [  0.876 s]
[INFO] kingbaseesreader 0.0.1-SNAPSHOT .................... SUCCESS [  0.878 s]
[INFO] oraclereader 0.0.1-SNAPSHOT ........................ SUCCESS [  0.867 s]
[INFO] odpsreader 0.0.1-SNAPSHOT .......................... SUCCESS [  1.542 s]
[INFO] otsreader 0.0.1-SNAPSHOT ........................... SUCCESS [  1.992 s]
[INFO] otsstreamreader 0.0.1 .............................. SUCCESS [  2.048 s]
[INFO] plugin-unstructured-storage-util 0.0.1-SNAPSHOT .... SUCCESS [  0.904 s]
[INFO] txtfilereader 0.0.1-SNAPSHOT ....................... SUCCESS [  3.129 s]
[INFO] streamreader 0.0.1-SNAPSHOT ........................ SUCCESS [  0.872 s]
[INFO] ossreader 0.0.1-SNAPSHOT ........................... SUCCESS [  3.184 s]
[INFO] ftpreader 0.0.1-SNAPSHOT ........................... SUCCESS [  2.921 s]
[INFO] mongodbreader 0.0.1-SNAPSHOT ....................... SUCCESS [  2.812 s]
[INFO] rdbmsreader 0.0.1-SNAPSHOT ......................... SUCCESS [  0.958 s]
[INFO] hbase11xreader 0.0.1-SNAPSHOT ...................... SUCCESS [  4.730 s]
[INFO] hbase094xreader 0.0.1-SNAPSHOT ..................... SUCCESS [  2.840 s]
[INFO] tsdbreader 0.0.1-SNAPSHOT .......................... SUCCESS [  1.235 s]
[INFO] opentsdbreader 0.0.1-SNAPSHOT ...................... SUCCESS [  1.967 s]
[INFO] cassandrareader 0.0.1-SNAPSHOT ..................... SUCCESS [  1.607 s]
[INFO] gdbreader 0.0.1-SNAPSHOT ........................... SUCCESS [  3.300 s]
[INFO] oceanbasev10reader 0.0.1-SNAPSHOT .................. SUCCESS [  1.205 s]
[INFO] mysqlwriter 0.0.1-SNAPSHOT ......................... SUCCESS [  0.788 s]
[INFO] drdswriter 0.0.1-SNAPSHOT .......................... SUCCESS [  0.831 s]
[INFO] odpswriter 0.0.1-SNAPSHOT .......................... SUCCESS [  1.582 s]
[INFO] txtfilewriter 0.0.1-SNAPSHOT ....................... SUCCESS [  2.693 s]
[INFO] ftpwriter 0.0.1-SNAPSHOT ........................... SUCCESS [  2.816 s]
[INFO] streamwriter 0.0.1-SNAPSHOT ........................ SUCCESS [  0.829 s]
[INFO] otswriter 0.0.1-SNAPSHOT ........................... SUCCESS [  1.704 s]
[INFO] oraclewriter 0.0.1-SNAPSHOT ........................ SUCCESS [  0.820 s]
[INFO] sqlserverwriter 0.0.1-SNAPSHOT ..................... SUCCESS [  0.814 s]
[INFO] postgresqlwriter 0.0.1-SNAPSHOT .................... SUCCESS [  0.838 s]
[INFO] kingbaseeswriter 0.0.1-SNAPSHOT .................... SUCCESS [  0.873 s]
[INFO] osswriter 0.0.1-SNAPSHOT ........................... SUCCESS [  2.925 s]
[INFO] mongodbwriter 0.0.1-SNAPSHOT ....................... SUCCESS [  2.936 s]
[INFO] adswriter 0.0.1-SNAPSHOT ........................... SUCCESS [  2.580 s]
[INFO] ocswriter 0.0.1-SNAPSHOT ........................... SUCCESS [  1.692 s]
[INFO] rdbmswriter 0.0.1-SNAPSHOT ......................... SUCCESS [  0.995 s]
[INFO] hbase11xwriter 0.0.1-SNAPSHOT ...................... SUCCESS [  4.564 s]
[INFO] hbase094xwriter 0.0.1-SNAPSHOT ..................... SUCCESS [  2.812 s]
[INFO] hbase11xsqlwriter 0.0.1-SNAPSHOT ................... SUCCESS [  7.919 s]
[INFO] hbase11xsqlreader 0.0.1-SNAPSHOT ................... SUCCESS [  8.665 s]
[INFO] elasticsearchwriter 0.0.1-SNAPSHOT ................. SUCCESS [  1.460 s]
[INFO] tsdbwriter 0.0.1-SNAPSHOT .......................... SUCCESS [  1.038 s]
[INFO] adbpgwriter 0.0.1-SNAPSHOT ......................... SUCCESS [  1.734 s]
[INFO] gdbwriter 0.0.1-SNAPSHOT ........................... SUCCESS [  3.027 s]
[INFO] cassandrawriter 0.0.1-SNAPSHOT ..................... SUCCESS [  1.564 s]
[INFO] clickhousewriter 0.0.1-SNAPSHOT .................... SUCCESS [  1.753 s]
[INFO] oceanbasev10writer 0.0.1-SNAPSHOT .................. SUCCESS [  4.283 s]
[INFO] hbase20xsqlreader 0.0.1-SNAPSHOT ................... SUCCESS [  2.773 s]
[INFO] hbase20xsqlwriter 0.0.1-SNAPSHOT ................... SUCCESS [  0.984 s]
[INFO] kuduwriter 0.0.1-SNAPSHOT .......................... SUCCESS [  2.710 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  03:59 min
[INFO] Finished at: 2021-08-18T18:26:06+08:00
[INFO] ------------------------------------------------------------------------
[root@test DataX]#

注意:目前源码编译完成后以下2个模板文件不存在,需要手动创建

/opt/datax_code2/DataX/target/datax/datax/plugin/reader/oceanbasev10reader/plugin_job_template.json
/opt/datax_code2/DataX/target/datax/datax/plugin/writer/oceanbasev10writer/plugin_job_template.json

2、添加OB对应的插件模板文件

2.1 oceanbasev10reader 模板

虽然本次测试未使用到,便于后续的测试也一起添加。

[root@test oceanbasev10reader]# pwd
/opt/datax_code2/DataX/target/datax/datax/plugin/reader/oceanbasev10reader
[root@test oceanbasev10reader]# cat plugin_job_template.json
{
    "name": "oceanbasev10reader",
    "parameter": {
        "username": "",
        "password": "",
        "readBatchSize": 100000,
        "weakRead": false,
        "column": [
            "*"
        ],
        "connection": [
            {
                "jdbcUrl": [
                    "||_dsc_ob10_dsc_||clusterName:tenantName||_dsc_ob10_dsc_||jdbc:oceanbase://obproxyIp:port/dbname"
                ],
                "table": [
                    "tabName"
                ]
            }
        ]
    }
}

2.2 oceanbasev10writer 模板

说明:obWriteMode 群里老师提供的 ob2ob.json 里对应的是 update,不是太理解,这里测试先调整成 insert。

[root@test oceanbasev10writer]# pwd
/opt/datax_code/DataX/target/datax/datax/plugin/writer/oceanbasev10writer
[root@test oceanbasev10writer]# cat plugin_job_template.json
{
    "name": "oceanbasev10writer",
    "parameter": {
        "obWriteMode": "insert",
        "username": "",
        "password": "",
        "preSql": [
            ""
        ],
        "column": [
            "*"
        ],
        "connection": [
            {
                "jdbcUrl": "||_dsc_ob10_dsc_||clusterName:tenantName||_dsc_ob10_dsc_||jdbc:oceanbase://obproxyIp:port/dbname?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true",
                "table": [
                    "tabName"
                ]
            }
        ]
    }
}

3、同步数据

3.1 编辑 JOB 配置文件

[root@test bin]# cat mysql2ob.json
{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "mysqlreader",
                    "parameter": {
                        "username": "root",
                        "password": "root654321",
                        "column": ["name"],
                        "splitPk": "id",
                        "connection": [
                            {
                                "table": [
                                    "t1","t2"
                                ],
                                "jdbcUrl": [
                                    "jdbc:mysql://192.168.1.100:6008/db1"
                                ]
                            },
                            {
                                "table": [
                                    "t3","t4"
                                ],
                                "jdbcUrl": [
                                    "jdbc:mysql://192.168.1.100:6008/db2"
                                ]
                            },
                            {
                                "table": [
                                    "t5","t6"
                                ],
                                "jdbcUrl": [
                                    "jdbc:mysql://192.168.1.100:6008/db3"
                                ]
                            },
                            {
                                "table": [
                                    "t7","t8"
                                ],
                                "jdbcUrl": [
                                    "jdbc:mysql://192.168.1.100:6008/db4"
                                ]
                            }
                        ]
                    }
                },
                "writer": {
                    "name": "oceanbasev10writer",
                    "parameter": {
                        "column": [
                            "name"
                        ],
                        "connection": [
                            {
                                "jdbcUrl": "||_dsc_ob10_dsc_||myob_test:test_tenant_1||_dsc_ob10_dsc_||jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true",
                                "table": [
                                    "t_sum"
                                ]
                            }
                        ],
                        "obWriteMode": "insert",
                        "password": "root",
                        "preSql": [
                            "truncate table t_sum;"
                        ],
                        "username": "root"
                    }
                }
            }
        ],
        "setting": {
            "speed": {
                "channel": "1"
            }
        }
    }
}
[root@test bin]#

3.2 启动 Datax 同步数据

[root@test bin]# python datax.py mysql2ob.json
 
DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.
 
 
2021-08-18 18:31:47.498 [main] INFO  VMInfo - VMInfo# operatingSystem class => sun.management.OperatingSystemImpl
2021-08-18 18:31:47.506 [main] INFO  Engine - the machine info  =>
 
    osInfo: Oracle Corporation 1.8 25.77-b03jvmInfo:    Linux amd64 3.10.0-862.el7.x86_64cpu num:    32
 
    totalPhysicalMemory:    -0.00GfreePhysicalMemory: -0.00GmaxFileDescriptorCount: -1currentOpenFileDescriptorCount: -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-08-18 18:31:47.527 [main] INFO  Engine -
{"content":[{"reader":{"name":"mysqlreader","parameter":{"column":["name"],"connection":[{"jdbcUrl":["jdbc:mysql://192.168.1.100:6008/db1"],"table":["t1","t2"]},{"jdbcUrl":["jdbc:mysql://192.168.1.100:6008/db2"],"table":["t3","t4"]},{"jdbcUrl":["jdbc:mysql://192.168.1.100:6008/db3"],"table":["t5","t6"]},{"jdbcUrl":["jdbc:mysql://192.168.1.100:6008/db4"],"table":["t7","t8"]}],"password":"**********","splitPk":"id","username":"root"}},"writer":{"name":"oceanbasev10writer","parameter":{"column":["name"],"connection":[{"jdbcUrl":"||_dsc_ob10_dsc_||myob_test:test_tenant_1||_dsc_ob10_dsc_||jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true","table":["t_sum"]}],"obWriteMode":"insert","password":"****","preSql":["truncate table t_sum;"],"username":"root"}}}],"setting":{"speed":{"channel":"1"}}
}
 
2021-08-18 18:31:47.546 [main] WARN  Engine - prioriy set to 0, because NumberFormatException, the value is: null
2021-08-18 18:31:47.548 [main] INFO  PerfTrace - PerfTrace traceId=job_-1, isEnable=false, priority=0
2021-08-18 18:31:47.549 [main] INFO  JobContainer - DataX jobContainer starts job.
2021-08-18 18:31:47.550 [main] INFO  JobContainer - Set jobId = 0
Wed Aug 18 18:31:47 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021-08-18 18:31:48.205 [job-0] INFO  OriginalConfPretreatmentUtil - Available jdbcUrl:jdbc:mysql://192.168.1.100:6008/db1?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true.
Wed Aug 18 18:31:48 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021-08-18 18:31:48.233 [job-0] INFO  OriginalConfPretreatmentUtil - Available jdbcUrl:jdbc:mysql://192.168.1.100:6008/db2?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true.
Wed Aug 18 18:31:48 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021-08-18 18:31:48.255 [job-0] INFO  OriginalConfPretreatmentUtil - Available jdbcUrl:jdbc:mysql://192.168.1.100:6008/db3?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true.
Wed Aug 18 18:31:48 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021-08-18 18:31:48.281 [job-0] INFO  OriginalConfPretreatmentUtil - Available jdbcUrl:jdbc:mysql://192.168.1.100:6008/db4?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true.
Wed Aug 18 18:31:48 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021-08-18 18:31:48.306 [job-0] INFO  OriginalConfPretreatmentUtil - table:[t1] has columns:[id,name].
2021-08-18 18:31:48.320 [job-0] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:48.320 [job-0] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:48.579 [job-0] INFO  DbUtils - value for query [SHOW VARIABLES LIKE 'ob_compatibility_mode'] is [MYSQL]
2021-08-18 18:31:48.587 [job-0] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:48.587 [job-0] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:48.601 [job-0] INFO  OriginalConfPretreatmentUtil - table:[t_sum] all columns:[
id,name
].
2021-08-18 18:31:48.602 [job-0] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:48.602 [job-0] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:48.615 [job-0] INFO  OriginalConfPretreatmentUtil - Write data [
INSERT INTO %s (name) VALUES(?)
], which jdbcUrl like:[||_dsc_ob10_dsc_||myob_test:test_tenant_1||_dsc_ob10_dsc_||jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true]
2021-08-18 18:31:48.616 [job-0] INFO  JobContainer - jobContainer starts to do prepare ...
2021-08-18 18:31:48.616 [job-0] INFO  JobContainer - DataX Reader.Job [mysqlreader] do prepare work .
2021-08-18 18:31:48.616 [job-0] INFO  JobContainer - DataX Writer.Job [oceanbasev10writer] do prepare work .
2021-08-18 18:31:48.617 [job-0] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:48.617 [job-0] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:48.626 [job-0] INFO  CommonRdbmsWriter$Job - Begin to execute preSqls:[truncate table t_sum;]. context info:||_dsc_ob10_dsc_||myob_test:test_tenant_1||_dsc_ob10_dsc_||jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true.
2021-08-18 18:31:48.730 [job-0] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:48.730 [job-0] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:48.743 [job-0] INFO  DbUtils - value for query [show variables like 'version'] is [3.1.0]
2021-08-18 18:31:48.743 [job-0] INFO  JobContainer - jobContainer starts to do split ...
2021-08-18 18:31:48.743 [job-0] INFO  JobContainer - Job set Channel-Number to 1 channels.
2021-08-18 18:31:48.752 [job-0] INFO  JobContainer - DataX Reader.Job [mysqlreader] splits to [8] tasks.
2021-08-18 18:31:48.753 [job-0] INFO  JobContainer - DataX Writer.Job [oceanbasev10writer] splits to [8] tasks.
2021-08-18 18:31:48.779 [job-0] INFO  JobContainer - jobContainer starts to do schedule ...
2021-08-18 18:31:48.789 [job-0] INFO  JobContainer - Scheduler starts [1] taskGroups.
2021-08-18 18:31:48.792 [job-0] INFO  JobContainer - Running by standalone Mode.
2021-08-18 18:31:48.801 [taskGroup-0] INFO  TaskGroupContainer - taskGroupId=[0] start [1] channels for [8] tasks.
2021-08-18 18:31:48.807 [taskGroup-0] INFO  Channel - Channel set byte_speed_limit to -1, No bps activated.
2021-08-18 18:31:48.807 [taskGroup-0] INFO  Channel - Channel set record_speed_limit to -1, No tps activated.
2021-08-18 18:31:48.867 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[0] attemptCount[1] is started
2021-08-18 18:31:48.869 [0-0-0-writer] INFO  OceanBaseV10Writer$Task - tableNumber:1,writerTask Class:com.alibaba.datax.plugin.writer.oceanbasev10writer.task.ConcurrentTableWriterTask
2021-08-18 18:31:48.871 [0-0-0-writer] INFO  ConcurrentTableWriterTask - configure url is unavailable, use obclient for connections.
2021-08-18 18:31:48.871 [0-0-0-reader] INFO  CommonRdbmsReader$Task - Begin to read record by Sql: [select name from t1
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db1?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
Wed Aug 18 18:31:48 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021-08-18 18:31:48.880 [0-0-0-writer] INFO  ConcurrentTableWriterTask - Disable partition calculation feature.
2021-08-18 18:31:48.897 [0-0-0-reader] INFO  CommonRdbmsReader$Task - Finished read record by Sql: [select name from t1
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db1?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:48.900 [0-0-0-writer] INFO  CommonRdbmsWriter$Task - write mode: insert
2021-08-18 18:31:48.901 [0-0-0-writer] INFO  ConcurrentTableWriterTask - writeRecordSql :INSERT INTO t_sum (name) VALUES(?)
2021-08-18 18:31:48.902 [0-0-0-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:48.902 [0-0-0-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:48.912 [0-0-0-writer] ERROR ConcurrentTableWriterTask - partCalculator is null
2021-08-18 18:31:48.912 [0-0-0-writer] INFO  ConcurrentTableWriterTask - start 1 insert task.
2021-08-18 18:31:48.915 [0-0-0-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:48.915 [0-0-0-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:48.931 [0-0-0-writer] INFO  ColumnMetaCache - fetch columnMeta of table t_sum success
2021-08-18 18:31:48.949 [0-0-0-writer] INFO  CommonRdbmsWriter$Task - isMemstoreFull=false
2021-08-18 18:31:48.950 [0-0-0-writer] INFO  ConcurrentTableWriterTask - ConcurrentTableWriter has put all task in queue, queueSize = 0,  total = 1, finished = 0
2021-08-18 18:31:49.068 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[0] is successed, used[203]ms
2021-08-18 18:31:49.070 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[1] attemptCount[1] is started
2021-08-18 18:31:49.070 [0-0-1-writer] INFO  OceanBaseV10Writer$Task - tableNumber:1,writerTask Class:com.alibaba.datax.plugin.writer.oceanbasev10writer.task.ConcurrentTableWriterTask
2021-08-18 18:31:49.070 [0-0-1-reader] INFO  CommonRdbmsReader$Task - Begin to read record by Sql: [select name from t2
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db1?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.070 [0-0-1-writer] INFO  ConcurrentTableWriterTask - configure url is unavailable, use obclient for connections.
Wed Aug 18 18:31:49 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021-08-18 18:31:49.079 [0-0-1-writer] INFO  ConcurrentTableWriterTask - Disable partition calculation feature.
2021-08-18 18:31:49.088 [0-0-1-writer] INFO  CommonRdbmsWriter$Task - write mode: insert
2021-08-18 18:31:49.089 [0-0-1-writer] INFO  ConcurrentTableWriterTask - writeRecordSql :INSERT INTO t_sum (name) VALUES(?)
2021-08-18 18:31:49.089 [0-0-1-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.089 [0-0-1-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.091 [0-0-1-reader] INFO  CommonRdbmsReader$Task - Finished read record by Sql: [select name from t2
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db1?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.099 [0-0-1-writer] ERROR ConcurrentTableWriterTask - partCalculator is null
2021-08-18 18:31:49.099 [0-0-1-writer] INFO  ConcurrentTableWriterTask - start 1 insert task.
2021-08-18 18:31:49.099 [0-0-1-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.100 [0-0-1-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.124 [0-0-1-writer] INFO  CommonRdbmsWriter$Task - isMemstoreFull=false
2021-08-18 18:31:49.124 [0-0-1-writer] INFO  ConcurrentTableWriterTask - ConcurrentTableWriter has put all task in queue, queueSize = 0,  total = 1, finished = 0
2021-08-18 18:31:49.170 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[1] is successed, used[100]ms
2021-08-18 18:31:49.172 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[2] attemptCount[1] is started
2021-08-18 18:31:49.172 [0-0-2-writer] INFO  OceanBaseV10Writer$Task - tableNumber:1,writerTask Class:com.alibaba.datax.plugin.writer.oceanbasev10writer.task.ConcurrentTableWriterTask
2021-08-18 18:31:49.172 [0-0-2-reader] INFO  CommonRdbmsReader$Task - Begin to read record by Sql: [select name from t3
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db2?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.173 [0-0-2-writer] INFO  ConcurrentTableWriterTask - configure url is unavailable, use obclient for connections.
Wed Aug 18 18:31:49 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021-08-18 18:31:49.181 [0-0-2-writer] INFO  ConcurrentTableWriterTask - Disable partition calculation feature.
2021-08-18 18:31:49.191 [0-0-2-writer] INFO  CommonRdbmsWriter$Task - write mode: insert
2021-08-18 18:31:49.192 [0-0-2-writer] INFO  ConcurrentTableWriterTask - writeRecordSql :INSERT INTO t_sum (name) VALUES(?)
2021-08-18 18:31:49.192 [0-0-2-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.192 [0-0-2-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.197 [0-0-2-reader] INFO  CommonRdbmsReader$Task - Finished read record by Sql: [select name from t3
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db2?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.199 [0-0-2-writer] ERROR ConcurrentTableWriterTask - partCalculator is null
2021-08-18 18:31:49.200 [0-0-2-writer] INFO  ConcurrentTableWriterTask - start 1 insert task.
2021-08-18 18:31:49.200 [0-0-2-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.200 [0-0-2-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.223 [0-0-2-writer] INFO  CommonRdbmsWriter$Task - isMemstoreFull=false
2021-08-18 18:31:49.224 [0-0-2-writer] INFO  ConcurrentTableWriterTask - ConcurrentTableWriter has put all task in queue, queueSize = 0,  total = 1, finished = 0
2021-08-18 18:31:49.272 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[2] is successed, used[100]ms
2021-08-18 18:31:49.274 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[3] attemptCount[1] is started
2021-08-18 18:31:49.274 [0-0-3-writer] INFO  OceanBaseV10Writer$Task - tableNumber:1,writerTask Class:com.alibaba.datax.plugin.writer.oceanbasev10writer.task.ConcurrentTableWriterTask
2021-08-18 18:31:49.275 [0-0-3-reader] INFO  CommonRdbmsReader$Task - Begin to read record by Sql: [select name from t4
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db2?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.275 [0-0-3-writer] INFO  ConcurrentTableWriterTask - configure url is unavailable, use obclient for connections.
Wed Aug 18 18:31:49 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021-08-18 18:31:49.283 [0-0-3-writer] INFO  ConcurrentTableWriterTask - Disable partition calculation feature.
2021-08-18 18:31:49.290 [0-0-3-writer] INFO  CommonRdbmsWriter$Task - write mode: insert
2021-08-18 18:31:49.291 [0-0-3-writer] INFO  ConcurrentTableWriterTask - writeRecordSql :INSERT INTO t_sum (name) VALUES(?)
2021-08-18 18:31:49.291 [0-0-3-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.291 [0-0-3-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.295 [0-0-3-reader] INFO  CommonRdbmsReader$Task - Finished read record by Sql: [select name from t4
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db2?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.299 [0-0-3-writer] ERROR ConcurrentTableWriterTask - partCalculator is null
2021-08-18 18:31:49.300 [0-0-3-writer] INFO  ConcurrentTableWriterTask - start 1 insert task.
2021-08-18 18:31:49.300 [0-0-3-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.300 [0-0-3-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.319 [0-0-3-writer] INFO  CommonRdbmsWriter$Task - isMemstoreFull=false
2021-08-18 18:31:49.319 [0-0-3-writer] INFO  ConcurrentTableWriterTask - ConcurrentTableWriter has put all task in queue, queueSize = 0,  total = 1, finished = 0
2021-08-18 18:31:49.375 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[3] is successed, used[101]ms
2021-08-18 18:31:49.377 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[4] attemptCount[1] is started
2021-08-18 18:31:49.377 [0-0-4-writer] INFO  OceanBaseV10Writer$Task - tableNumber:1,writerTask Class:com.alibaba.datax.plugin.writer.oceanbasev10writer.task.ConcurrentTableWriterTask
2021-08-18 18:31:49.377 [0-0-4-reader] INFO  CommonRdbmsReader$Task - Begin to read record by Sql: [select name from t5
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db3?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.378 [0-0-4-writer] INFO  ConcurrentTableWriterTask - configure url is unavailable, use obclient for connections.
Wed Aug 18 18:31:49 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021-08-18 18:31:49.388 [0-0-4-writer] INFO  ConcurrentTableWriterTask - Disable partition calculation feature.
2021-08-18 18:31:49.397 [0-0-4-writer] INFO  CommonRdbmsWriter$Task - write mode: insert
2021-08-18 18:31:49.397 [0-0-4-writer] INFO  ConcurrentTableWriterTask - writeRecordSql :INSERT INTO t_sum (name) VALUES(?)
2021-08-18 18:31:49.397 [0-0-4-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.397 [0-0-4-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.398 [0-0-4-reader] INFO  CommonRdbmsReader$Task - Finished read record by Sql: [select name from t5
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db3?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.406 [0-0-4-writer] ERROR ConcurrentTableWriterTask - partCalculator is null
2021-08-18 18:31:49.407 [0-0-4-writer] INFO  ConcurrentTableWriterTask - start 1 insert task.
2021-08-18 18:31:49.407 [0-0-4-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.407 [0-0-4-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.428 [0-0-4-writer] INFO  CommonRdbmsWriter$Task - isMemstoreFull=false
2021-08-18 18:31:49.428 [0-0-4-writer] INFO  ConcurrentTableWriterTask - ConcurrentTableWriter has put all task in queue, queueSize = 0,  total = 1, finished = 0
2021-08-18 18:31:49.478 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[4] is successed, used[101]ms
2021-08-18 18:31:49.480 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[5] attemptCount[1] is started
2021-08-18 18:31:49.480 [0-0-5-writer] INFO  OceanBaseV10Writer$Task - tableNumber:1,writerTask Class:com.alibaba.datax.plugin.writer.oceanbasev10writer.task.ConcurrentTableWriterTask
2021-08-18 18:31:49.480 [0-0-5-reader] INFO  CommonRdbmsReader$Task - Begin to read record by Sql: [select name from t6
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db3?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.480 [0-0-5-writer] INFO  ConcurrentTableWriterTask - configure url is unavailable, use obclient for connections.
Wed Aug 18 18:31:49 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021-08-18 18:31:49.489 [0-0-5-writer] INFO  ConcurrentTableWriterTask - Disable partition calculation feature.
2021-08-18 18:31:49.498 [0-0-5-writer] INFO  CommonRdbmsWriter$Task - write mode: insert
2021-08-18 18:31:49.498 [0-0-5-writer] INFO  ConcurrentTableWriterTask - writeRecordSql :INSERT INTO t_sum (name) VALUES(?)
2021-08-18 18:31:49.498 [0-0-5-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.498 [0-0-5-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.503 [0-0-5-reader] INFO  CommonRdbmsReader$Task - Finished read record by Sql: [select name from t6
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db3?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.507 [0-0-5-writer] ERROR ConcurrentTableWriterTask - partCalculator is null
2021-08-18 18:31:49.508 [0-0-5-writer] INFO  ConcurrentTableWriterTask - start 1 insert task.
2021-08-18 18:31:49.508 [0-0-5-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.508 [0-0-5-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.532 [0-0-5-writer] INFO  CommonRdbmsWriter$Task - isMemstoreFull=false
2021-08-18 18:31:49.532 [0-0-5-writer] INFO  ConcurrentTableWriterTask - ConcurrentTableWriter has put all task in queue, queueSize = 0,  total = 1, finished = 0
2021-08-18 18:31:49.580 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[5] is successed, used[100]ms
2021-08-18 18:31:49.582 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[6] attemptCount[1] is started
2021-08-18 18:31:49.582 [0-0-6-writer] INFO  OceanBaseV10Writer$Task - tableNumber:1,writerTask Class:com.alibaba.datax.plugin.writer.oceanbasev10writer.task.ConcurrentTableWriterTask
2021-08-18 18:31:49.583 [0-0-6-reader] INFO  CommonRdbmsReader$Task - Begin to read record by Sql: [select name from t7
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db4?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.583 [0-0-6-writer] INFO  ConcurrentTableWriterTask - configure url is unavailable, use obclient for connections.
Wed Aug 18 18:31:49 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021-08-18 18:31:49.592 [0-0-6-writer] INFO  ConcurrentTableWriterTask - Disable partition calculation feature.
2021-08-18 18:31:49.600 [0-0-6-writer] INFO  CommonRdbmsWriter$Task - write mode: insert
2021-08-18 18:31:49.600 [0-0-6-writer] INFO  ConcurrentTableWriterTask - writeRecordSql :INSERT INTO t_sum (name) VALUES(?)
2021-08-18 18:31:49.600 [0-0-6-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.600 [0-0-6-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.602 [0-0-6-reader] INFO  CommonRdbmsReader$Task - Finished read record by Sql: [select name from t7
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db4?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.608 [0-0-6-writer] ERROR ConcurrentTableWriterTask - partCalculator is null
2021-08-18 18:31:49.608 [0-0-6-writer] INFO  ConcurrentTableWriterTask - start 1 insert task.
2021-08-18 18:31:49.608 [0-0-6-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.608 [0-0-6-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.630 [0-0-6-writer] INFO  CommonRdbmsWriter$Task - isMemstoreFull=false
2021-08-18 18:31:49.630 [0-0-6-writer] INFO  ConcurrentTableWriterTask - ConcurrentTableWriter has put all task in queue, queueSize = 0,  total = 1, finished = 0
2021-08-18 18:31:49.683 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[6] is successed, used[101]ms
2021-08-18 18:31:49.685 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[7] attemptCount[1] is started
2021-08-18 18:31:49.685 [0-0-7-writer] INFO  OceanBaseV10Writer$Task - tableNumber:1,writerTask Class:com.alibaba.datax.plugin.writer.oceanbasev10writer.task.ConcurrentTableWriterTask
2021-08-18 18:31:49.685 [0-0-7-reader] INFO  CommonRdbmsReader$Task - Begin to read record by Sql: [select name from t8
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db4?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.686 [0-0-7-writer] INFO  ConcurrentTableWriterTask - configure url is unavailable, use obclient for connections.
Wed Aug 18 18:31:49 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021-08-18 18:31:49.693 [0-0-7-writer] INFO  ConcurrentTableWriterTask - Disable partition calculation feature.
2021-08-18 18:31:49.703 [0-0-7-writer] INFO  CommonRdbmsWriter$Task - write mode: insert
2021-08-18 18:31:49.703 [0-0-7-writer] INFO  ConcurrentTableWriterTask - writeRecordSql :INSERT INTO t_sum (name) VALUES(?)
2021-08-18 18:31:49.703 [0-0-7-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.703 [0-0-7-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.705 [0-0-7-reader] INFO  CommonRdbmsReader$Task - Finished read record by Sql: [select name from t8
] jdbcUrl:[jdbc:mysql://192.168.1.100:6008/db4?yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true].
2021-08-18 18:31:49.710 [0-0-7-writer] ERROR ConcurrentTableWriterTask - partCalculator is null
2021-08-18 18:31:49.710 [0-0-7-writer] INFO  ConcurrentTableWriterTask - start 1 insert task.
2021-08-18 18:31:49.711 [0-0-7-writer] INFO  DBUtil - this is ob1_0 jdbc url.
2021-08-18 18:31:49.711 [0-0-7-writer] INFO  DBUtil - this is ob1_0 jdbc url. user=myob_test:test_tenant_1:root :url=jdbc:oceanbase://192.168.1.100:12881/db1?yearIsDateType=false&ZeroDateTimeBehavior=convertToNull&tinyIntlisBit=false&rewriteBatchedStatements=true&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true
2021-08-18 18:31:49.732 [0-0-7-writer] INFO  CommonRdbmsWriter$Task - isMemstoreFull=false
2021-08-18 18:31:49.732 [0-0-7-writer] INFO  ConcurrentTableWriterTask - ConcurrentTableWriter has put all task in queue, queueSize = 0,  total = 1, finished = 0
2021-08-18 18:31:49.785 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] taskId[7] is successed, used[100]ms
2021-08-18 18:31:49.786 [taskGroup-0] INFO  TaskGroupContainer - taskGroup[0] completed it's tasks.
2021-08-18 18:31:58.868 [job-0] INFO  StandAloneJobContainerCommunicator - Total 16 records, 16 bytes | Speed 1B/s, 1 records/s | Error 0 records, 0 bytes |  All Task WaitWriterTime 0.000s |  All Task WaitReaderTime 0.000s | Percentage 100.00%
2021-08-18 18:31:58.868 [job-0] INFO  AbstractScheduler - Scheduler accomplished all tasks.
2021-08-18 18:31:58.868 [job-0] INFO  JobContainer - DataX Writer.Job [oceanbasev10writer] do post work.
2021-08-18 18:31:58.868 [job-0] INFO  JobContainer - DataX Reader.Job [mysqlreader] do post work.
2021-08-18 18:31:58.868 [job-0] INFO  JobContainer - DataX jobId [0] completed successfully.
2021-08-18 18:31:58.869 [job-0] INFO  HookInvoker - No hook invoked, because base dir not exists or is a file: /opt/datax_code2/DataX/target/datax/datax/hook
2021-08-18 18:31:58.870 [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.027s             | 0.027s             | 0.027s            
         PS Scavenge          | 1                  | 1                  | 1                  | 0.020s             | 0.020s             | 0.020s            
 
2021-08-18 18:31:58.870 [job-0] INFO  JobContainer - PerfTrace not enable!
2021-08-18 18:31:58.871 [job-0] INFO  StandAloneJobContainerCommunicator - Total 16 records, 16 bytes | Speed 1B/s, 1 records/s | Error 0 records, 0 bytes |  All Task WaitWriterTime 0.000s |  All Task WaitReaderTime 0.000s | Percentage 100.00%
2021-08-18 18:31:58.872 [job-0] INFO  JobContainer -
任务启动时刻                    : 2021-08-18 18:31:47
任务结束时刻                    : 2021-08-18 18:31:58
任务总计耗时                    :                 11s
任务平均流量                    :                1B/s
记录写入速度                    :              1rec/s
读出记录总数                    :                  16
读写失败总数                    :                   0
 
[root@test bin]#

4、目标端 OB 租户下验证数据

MySQL [db1]> show tenant;
+---------------------+
| Current_tenant_name |
+---------------------+
| test_tenant_1       |
+---------------------+
1 row in set (0.003 sec)
  
MySQL [db1]> select * from t_sum;
+----+------+
| id | name |
+----+------+
|  1 | a    |
|  2 | b    |
|  3 | c    |
|  4 | d    |
|  5 | e    |
|  6 | f    |
|  7 | g    |
|  8 | h    |
|  9 | i    |
| 10 | j    |
| 11 | k    |
| 12 | l    |
| 13 | m    |
| 14 | n    |
| 15 | o    |
| 16 | p    |
+----+------+
16 rows in set (0.003 sec)

5、测试描述

本测试源端有 4 个分片实例(这里使用一个实例 4 个库模拟),每个分片 2 个库,每个库 2 张表。

同步到目表端 oceanbase MySQL 租户(test_tenant_1)下的 t_sum 表中,源表主键 id ,不具有业务实际意义。

6、测试数据

6.1 目标端 OB 环境 test_tenant_1 租户 db1 库下创建汇总表

create table t_sum(id int not null auto_increment primary key,name varchar(20));
 
MySQL [db1]> show tenant;
+---------------------+
| Current_tenant_name |
+---------------------+
| test_tenant_1       |
+---------------------+
1 row in set (0.003 sec)
 
MySQL [db1]> show create table t_sum \G
*************************** 1. row ***************************
       Table: t_sum
Create Table: CREATE TABLE `t_sum` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(20) DEFAULT NULL,
  PRIMARY KEY (`id`)
) AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 ROW_FORMAT = COMPACT COMPRESSION = 'zstd_1.3.8' \n<br>REPLICA_NUM = 3 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 0
1 row in set (0.004 sec)

6.2 源端 MySQL 分片实例库表

#MySQL模拟分片1
create table db1.t1(id int not null auto_increment primary key,name varchar(20));
create table db1.t2(id int not null auto_increment primary key,name varchar(20));
insert into db1.t1 values(1,'a');
insert into db1.t1 values(2,'b');
insert into db1.t2 values(1,'c');
insert into db1.t2 values(2,'d');
 
 
#MySQL模拟分片2
create table db2.t3(id int not null auto_increment primary key,name varchar(20));
create table db2.t4(id int not null auto_increment primary key,name varchar(20));
insert into db2.t3 values(1,'e');
insert into db2.t3 values(2,'f');
insert into db2.t4 values(1,'g');
insert into db2.t4 values(2,'h');
 
 
#MySQL模拟分片3
create table db3.t5(id int not null auto_increment primary key,name varchar(20));
create table db3.t6(id int not null auto_increment primary key,name varchar(20));
insert into db3.t5 values(1,'i');
insert into db3.t5 values(2,'j');
insert into db3.t6 values(1,'k');
insert into db3.t6 values(2,'l');
 
#MySQL模拟分片4
create table db4.t7(id int not null auto_increment primary key,name varchar(20));
create table db4.t8(id int not null auto_increment primary key,name varchar(20));
insert into db4.t7 values(1,'m');
insert into db4.t7 values(2,'n');
insert into db4.t8 values(1,'o');
insert into db4.t8 values(2,'p');

本次测试只是做了一个简单的通过 Datax 同步工具将 MySQL 数据同步到 OceanBase 环境,里面的参数还需要进一步学习,这里也期待后续开源的数据库同步工具能有以下功能:

1、同步配置支持库、表支持通配符写法。

2、同步工具自身支持高可用部署。

3、同步期间支持上游环境 DDL 操作。

4、同步期间支持暂停功能。

如果您有任何疑问,可以通过以下方式与我们进行交流:

微信群:扫码添加小助手,将拉你进群哟~

如何把现有数据库迁移到OceanBase?使用DataX同步MySQL分库分表到OceanBase环境-1

钉钉群:33254054

如何把现有数据库迁移到OceanBase?使用DataX同步MySQL分库分表到OceanBase环境-2

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论