• 金仓数据库 KDTS 迁移工具使用指南(3. 系统部署)


    3. 系统部署

    3.1. 准备工作

    迁移程序从源数据库读取数据后写入目标数据库,因此需要一定量的内存作为中转缓存(并行度越高、表中单行数据越大(特别是大对象(LOB,Large Object)字段,如 BLOB、CLOB、NCLOB 等)需要的内存越多)。此外,还需要一定量的磁盘空间用于存储日志、脚本、报告等。

    3.1.1. CPU

    查看计算机 CPU 的架构类型(x64、AArch64 等)及核心数和线程数,然后根据计算机可用内存、CPU 核心数和线程数并兼顾源库和目标库服务器的性能及负载情况给迁移程序规划和设置合理的读 / 写线程数(conf/kb-thread-config.xml),配置时可参考目录中不同内存大小的配置文件(带 - 2G、-4G、-8G 的文件),缺省配置文件是基于 Intel Xeon Gold 6330(28 核心 56 线程),256G 内存,JVM 为 16G 内存的服务器进行配置的。

    3.1.2. 内存

    查看计算机内存的可用大小,然后给迁移程序规划和设置合理的 Java 虚拟机内存(bin/startup.sh 或 startup.bat 中 JAVA_OPT 项的 - Xms 和 - Xmx 参数值),确保分配的内存在可用内存范围内(缺省值为 “-Xms16G -Xmx16G”)。

    3.1.3. 磁盘

    检查计算机磁盘的剩余空间,应预留足够的磁盘空间(500MB 以上,取决于迁移的对象和数据的多少)给迁移程序,多次迁移时应注意清理过时的内容(logs 和 result 目录)。

    3.2. BS 版部署

    3.2.1. 迁移程序说明

    将迁移程序包 kdts-app-console-xxx-bs.zip 解压到安装目录即可(其中 xxx 为版本号),程序包括如下目录:

    • bin: 启动脚本

    • conf: 配置文件

    • doc: 使用指南 & 操作手册

    • drivers: 数据库连接驱动

    • jdk: jdk 目录

    • lib: 程序包

    3.2.2. JDK

    迁移程序需要 JDK11 及以上的版本,如果计算机中已有可用的 JDK,配置迁移程序启动脚本(bin/startup.sh 或 startup.bat)中 JAVA_PATH 即可。如果没有,可从 OpenJDK 网站 https://jdk.java.net/archive/ 上下载与计算机的操作系统和 CPU 架构相匹配的版本(如 Liunx/AArch64、Linux/x64、Windows/x64 等),然后将 JDK 安装包解压为 jdk 目录。

    注意:

    1. 应使用解压版本的 JDK,也不要把 JDK 设置到系统环境变量里,以免影响计算机上的其它应用。

    2. 下载时应选择最新更新的 JDK 版本,例如在下载页面上 Open JDK 11 有 “11 GA (build 11+28)、11.0.1 (build 11.0.1+13)、11.0.2 (build 11.0.2+9)” 等 3 个版本,应下载 11.0.2。

    3.2.3. 启动命令

    迁移程序的启动脚本在 bin 目录下,Linux 平台为 startup.sh,Windows 平台为 startup.bat。

    3.2.3.1. 配置启动脚本

    1. 设置 JAVA_PATH

      如果 JDK 没有安装在 jdk 目录,将如下的 “JAVA_PATH” 配置为实际的安装目录。

      • Linux 平台(startup.sh)

        #JAVA 路径
        JAVA_PATH=${BASE_PATH}"/jdk"
      • Windows 平台(startup.bat)

        rem JAVA 路径
        set "JAVA_PATH=%BASE_PATH%/jdk"
    2. 设置 Java 虚拟机内存

      缺省的 Java 虚拟机内存设置的是 16G,根据需要调整如下的 “-Xms16G -Xmx16G” 中的 16G 为需要的值。

      • Linux 平台(startup.sh)

        #=======================================================
        # JVM 参数设置
        #=======================================================
        JAVA_OPT="
              -server
              -Dfile.encoding=UTF-8
              -Djava.awt.headless=true
              -Djava.net.preferIPv4Stack=true
              -Dcache_enable=true
              -Dconfig.path=${CONFIG_DIR}
              -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
              --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED
              -Djava.security.properties=./lib/enableLegacyTLS.security
              -Duser.country=CN -Duser.language=zh
              -Xms16g
              -Xmx16g
        "
      • Windows 平台(startup.bat)

        rem =======================================================
        rem JVM 参数设置
        rem =======================================================
        set "JAVA_OPT=-server -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dcache_enable=true"
        set "JAVA_OPT=%JAVA_OPT% -Dconfig.path=%CONFIG_DIR% -Dloader.path=%LIB_DIR% -Dlog.path=%LOG_DIR% -Dmigration.name=%NOW_STR% -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl -Djava.security.properties=./lib/enableLegacyTLS.security -Duser.country=CN -Duser.language=zh"
        set "JAVA_OPT=%JAVA_OPT% --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED"
        set "JAVA_OPT=%JAVA_OPT% -XX:+UseG1GC -XX:G1ReservePercent=20 -XX:+UseCompressedOops -XX:+UseCompressedClassPointers -XX:G1HeapRegionSize=8M -XX:+SegmentedCodeCache  -XX:+PrintCommandLineFlags -XX:+ExplicitGCInvokesConcurrent"
        set "JAVA_OPT=%JAVA_OPT% -Xms16G -Xmx16G"

      注意:设置内存参数时 “-Xms” 和 “-Xmx” 应设置相同值,这样程序在启动时就会申请最大值的内存,如果内存不足可及时调整,避免在迁移过程中逐渐申请时内存不足导致迁移失败而浪费时间。

    3.2.3.2. 执行启动脚本

    • Linux 平台

      startup.sh

      注意:

      • Linux 平台启动后程序在后台运行,如果需要查看运行日志,可使用 tail 命令:tail -f logs/kdts-app-console_2022-06-24_22-22-22.log

      • 如果需要停止运行中的程序,可执行 shutdown.sh。

    • Windows 平台

      startup.bat

    3.2.4. 访问

    1. 使用谷歌浏览器进行访问

    2. 访问地址:http://localhost:8080/

    3. 默认用户名及密码:admin / 123456&*

    4. 会话保存策略:会话保存时间为一天,服务重启或登出失效

    3.2.5. 国际化

    1. 系统自动读取浏览器语言设置作为默认语言,支持中、英两种语言.

    2. 更换语言设置:谷歌浏览器打开设置,搜索语言,提示 “根据您的偏好设置对语言进行排序”,最顶部的语言即为当前浏览器所使用的语言。

    3. 执行启动脚本时,默认启动语言为中文,如果是英文环境,需要进行指定,命令如下:

      # 指定中文环境
      
      -Duser.country=CN -Duser.language=zh
      
      #指定英文环境
      
      -Duser.country=EN -Duser.language=us

    3.3. SHELL 版部署

    3.3.1. 迁移程序说明

    将迁移程序包 kdts-plus-xxx-bin.zip 解压到安装目录即可(其中 xxx 为版本号),程序包括如下目录:

    • bin: 启动脚本

    • conf: 配置文件(包括 manual_script(手工脚本)、mapping_rule(映射规则)等子目录,详见 readme.md)

    • doc: 使用指南

    • drivers: 数据库连接驱动(注意不同版本驱动的存放目录差异,详见 readme.md)

    • jdk: jdk 目录

    • kdms: kdms 程序

    • lib: 程序包

    • logs: 运行日志

    • result: 结果报告

    3.3.2. JDK

    迁移程序需要 JDK11 及以上的版本,如果计算机中已有可用的 JDK,配置迁移程序启动脚本(kdts-plus/bin/startup.sh 或 startup.bat)中 JAVA_PATH 即可。如果没有,可从 OpenJDK 网站 https://jdk.java.net/archive/ 上下载与计算机的操作系统和 CPU 架构相匹配的版本(如 Liunx/AArch64、Linux/x64、Windows/x64 等),然后将 JDK 安装包解压为 kdts-plus/jdk 目录。

    注意:

    1. 应使用解压版本的 JDK,也不要把 JDK 设置到系统环境变量里,以免影响计算机上的其它应用。

    2. 下载时应选择最新更新的 JDK 版本,例如在下载页面上 Open JDK 11 有 “11 GA (build 11+28)、11.0.1 (build 11.0.1+13)、11.0.2 (build 11.0.2+9)” 等 3 个版本,应下载 11.0.2。

    3.3.3. 启动命令

    迁移程序的启动脚本在 kdts-plus/bin 目录下,Linux 平台为 startup.sh,Windows 平台为 startup.bat。

    3.3.3.1. 配置启动脚本

    1. 设置 JAVA_PATH

      如果 JDK 没有安装在 jdk 目录,将如下的 “JAVA_PATH” 配置为实际的安装目录。

      • Linux 平台(startup.sh)

        #JAVA 路径
        JAVA_PATH=${BASE_PATH}"/jdk"
      • Windows 平台(startup.bat)

        rem JAVA 路径
        set "JAVA_PATH=%BASE_PATH%/jdk"
    2. 设置 Java 虚拟机内存

      缺省的 Java 虚拟机内存设置的是 16G,根据需要调整如下的 “-Xms16G -Xmx16G” 中的 16G 为需要的值。

      • Linux 平台(startup.sh)

        #=======================================================
        # JVM 参数设置
        #=======================================================
        JAVA_OPT="
        -server
        -Dfile.encoding=UTF-8
        -Djava.awt.headless=true
        -Djava.net.preferIPv4Stack=true
        -Dcache_enable=true
        -Dconfig.path=${CONFIG_DIR}
        -Dloader.path=${LIB_DIR}
        -Dlog.path=${LOG_DIR}
        -Dmigration.name=${NOW_STR}
        -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
        --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED
        -Xms16g
        -Xmx16g
        "
      • Windows 平台(startup.bat)

        rem =======================================================
        rem JVM 参数设置
        rem =======================================================
        set "JAVA_OPT=-server -Dfile.encoding=UTF-8 -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dcache_enable=true"
        set "JAVA_OPT=%JAVA_OPT% -Dconfig.path=%CONFIG_DIR% -Dloader.path=%LIB_DIR% -Dlog.path=%LOG_DIR% -Dmigration.name=%NOW_STR% -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl"
        set "JAVA_OPT=%JAVA_OPT% --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang.invoke=ALL-UNNAMED"
        set "JAVA_OPT=%JAVA_OPT% -XX:+UseG1GC -XX:G1ReservePercent=20 -XX:+UseCompressedOops -XX:+UseCompressedClassPointers -XX:G1HeapRegionSize=8M -XX:+SegmentedCodeCache  -XX:+PrintCommandLineFlags -XX:+ExplicitGCInvokesConcurrent"
        set "JAVA_OPT=%JAVA_OPT% -Xms16G -Xmx16G"

      注意:设置内存参数时 “-Xms” 和 “-Xmx” 应设置相同值,这样程序在启动时就会申请最大值的内存,如果内存不足可及时调整,避免在迁移过程中逐渐申请时内存不足导致迁移失败而浪费时间。

    3.3.3.2. 执行启动脚本

    • Linux 平台

      startup.sh

      注意:

      • Linux 平台启动后程序在后台运行,如果需要查看运行日志,可使用 tail 命令:tail -f logs/kdts-app-console_2022-06-24_22-22-22.log

      • 如果需要停止运行中的程序,可执行 shutdown.sh。

    • Windows 平台

      startup.bat
  • 相关阅读:
    【大数据技术】记一次spark连接MySQL读数据是失败的排查,显示“No suitable driver”,但实际是driver已经配置好了
    oracle导入导出某个schema数据
    在 AWS Marketplace 上订阅 EMQX Cloud 按量计费版
    Spring Boot 检索&定时任务
    若依ruoyi系统报错:mybatis-plus报错,获取用户信息异常解决方案(借助ruoyi作为后台管理系统出现的bug)
    手写HashMap 手撕哈希表
    zabbix监控——监控应用
    【深度学习】ONNX模型多线程快速部署【基础】
    QT(1)- QString
    一行代码引发的性能暴跌 10 倍
  • 原文地址:https://blog.csdn.net/arthemis_14/article/details/126096080