暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

数据猿 2022-07-29
2914

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
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论