更新时间:2024-11-29 GMT+08:00

MOTService元数据/业务数据导入导出

场景介绍

为了确保MOTService日常用户的数据安全,或者需要对MOTService进行重大操作(如升级或迁移等)时,可以对MOTService数据进行备份或数据导出保存,从而保证系统在出现异常或未达到预期结果时可以及时进行数据恢复,将对业务的影响降到最低。

可以通过执行脚本的形式导入导出MOTService相关数据,也可以通过FusionInsight Manager创建备份和恢复MOTService任务,本章节介绍通过“MOTImportTool.sh”和“MOTExportTool.sh”工具对MOTService元数据/业务数据的导入导出。

前提条件

  • 集群中已安装MOTService组件且集群内各组件运行正常。
  • 已明确MOTService浮动IP地址。

    登录FusionInsight Manager,选择“集群 > 服务 > MOTService > 配置 > 全部配置”,参数“motservice.floatip”的值即为MOTService浮动IP地址。

  • 导入时数据文件限制在200MB以内。

导出数据操作步骤

  1. 登录FusionInsight Manager,选择“集群 > 服务 > MOTService > 实例”,查看并记录“MOTServer (主)”实例的业务IP。
  2. omm用户登录MOTService主节点。
  3. 配置数据导出场景(仅首次配置或需要新增配置时执行该步骤),配置文件示例内容如下,根据实际情况配置并保存文件:

    vim ${BIGDATA_HOME}/FusionInsight_FARMER_RTD_8.3.1/install/FusionInsight-MOTService-2.7.0/setup/conf/mot_import_export/mot_export_and_import.cfg

    #eg:场景-dbID-floatIp-port-username-databaseName-exportFilepath-importFilepath
    零售-db1-192.168.43.192-20105-dttest-db_tpcc-/opt/mot_test-/opt/mot_test
    信用卡-db2-192.168.43.192-20105-dttest-db_tpcc-/opt/mot_test-/opt/mot_test
    支付1-db3-192.168.43.192-20105-dttest-db_tpcc-/opt/mot_test-/opt/mot_test
    支付2-db4-192.168.43.192-20105-dttest-db_tpcc-/opt/mot_test-/opt/mot_test

    配置格式:

    场景名称-dbID-MOTService浮动IP-MOTService服务端口(默认20105)-MOTService数据库用户名-MOTService数据库名-导出文件存储路径-导入文件存储路径

    • dbID:以字母+数字格式书写,如db1。
    • 导出文件存储路径、导入文件存储路径:输入自定义的绝对路径,但需确保omm用户对其具备操作权限。

  4. 若导出表级别数据,要在导出文件存储路径下创建待导出表的记录文件,如“/opt/mot_test/exporttable.txt”。导出库级别数据可跳过该步骤。

    exporttable.txt文件内容为需要导出的表名,可选择导出单个或多个表,多个表需换行填写,示例如下:

    mottest1
    t_tansaction

  5. 执行以下命令进入工具所在目录。

    cd ${BIGDATA_HOME}/FusionInsight_FARMER_RTD_8.3.1/install/FusionInsight-MOTService-2.7.0/tools

  6. 执行如下命令运行“MOTExportTool.sh”导出工具。

    sh MOTExportTool.sh 导出格式参数

    如以文本格式导出表级别的元数据和数据:sh MOTExportTool.sh metaanddata-table-text

    当前仅支持单次以一种格式导出数据,若填写多个格式会打印帮助提示,支持的格式如下:

    表1 数据导出格式

    参数名

    描述

    metaanddata-table-text

    以文本格式导出表级别的元数据和数据

    metaanddata-table-binary

    以二进制格式导出表级别的元数据和数据

    metaanddata-database-text

    以文本格式导出库级别的元数据和数据

    metaanddata-database-binary

    以二进制格式导出库级别的元数据和数据

    dataonly-table-text

    以文本格式导出表级别的数据

    dataonly-table-binary

    以二进制格式导出表级别的数据

    dataonly-database-text

    以文本格式导出库级别的数据

    dataonly-database-binary

    以二进制格式导出库级别的数据

    metaonly-table-text

    以文本格式导出表级别的元数据

    metaonly-table-binary

    以二进制格式导出表级别的元数据

    metaonly-database-text

    以文本格式导出库级别的元数据

    metaonly-database-binary

    以二进制格式导出库级别的元数据

  7. 查看读取的配置列,输入待导出场景数据对应的dbID,如导出“零售”的信息,则输入:db1

    为防止输错,系统会再次确认场景ID对应的场景名称:Are you sure you want to select the type : xxx。

    • 正确,输入“y”或者其他除“n”以外的任意键。
    • 错误,输入“n”,结束脚本,之后需重新执行脚本。

    输入“y”并回车,进入下一步。

  8. 输入MOTService数据库密码。
  9. 若导出表级别数据,输入3中配置的需要导出的文件路径及文件名,如“/opt/mot_test/exporttable.txt”。导出库级别数据可跳过该步骤。
  10. 查看导出结果,显示如下表示导出成功。

    dump database 数据库名 successfully
    total time: 1792 ms
    export data successfully! Filepath is:xxx/export_xxx.sql 

导入数据操作步骤

  1. 登录FusionInsight Manager,选择“集群 > 服务 > MOTService > 实例”,查看并记录“MOTServer (主)”实例的业务IP。
  2. omm用户登录MOTService主节点。
  3. 配置数据导入场景(仅首次配置或需要新增配置时执行该步骤),配置文件示例内容如下,根据实际情况配置:

    vim ${BIGDATA_HOME}/FusionInsight_FARMER_RTD_8.3.1/install/FusionInsight-MOTService-2.7.0/setup/conf/mot_import_export/mot_export_and_import.cfg

    #eg:场景-dbID-floatIp-port-username-databaseName-exportFilepath-importFilepath
    零售-db1-192.168.43.192-20105-dttest-db_tpcc-/opt/mot_test-/opt/mot_test
    信用卡-db2-192.168.43.192-20105-dttest-db_tpcc-/opt/mot_test-/opt/mot_test
    支付1-db3-192.168.43.192-20105-dttest-db_tpcc-/opt/mot_test-/opt/mot_test
    支付2-db4-192.168.43.192-20105-dttest-db_tpcc-/opt/mot_test-/opt/mot_test

    配置格式:

    场景名称-dbID-MOTService浮动IP-MOTService服务端口(默认20105)-MOTService数据库用户名-MOTService数据库名-导出文件存储路径-导入文件存储路径

    • dbID:以字母+数字格式书写,如db1。
    • 导出文件存储路径、导入文件存储路径:输入自定义的绝对路径,但需确保omm用户对其具备操作权限。

  4. 执行以下命令进入工具所在目录。

    cd ${BIGDATA_HOME}/FusionInsight_FARMER_RTD_8.3.1/install/FusionInsight-MOTService-2.7.0/tools

  5. 执行如下命令运行“MOTImportTool.sh”导入工具。

    sh MOTImportTool.sh 导入格式

    如以二进制格式导入表级别的元数据和数据:sh MOTImportTool.sh binary

    当前仅支持单次以一种格式导入数据,若填写多个格式会打印帮助提示,支持的格式如下:

    表2 数据导入格式

    参数名

    描述

    text

    使用文本格式导入数据

    binary

    使用二进制格式导入数据

  6. 查看读取的配置列,输入待导入场景数据对应的dbID,如导入“零售”的信息,则输入:db1

    为防止输错,系统会再次确认场景ID对应的场景名称:Are you sure you want to select the type : xxx。

    • 正确,输入“y”或者其他除“n”以外的任意键。
    • 错误,输入“n”,结束脚本,之后需重新执行脚本。

    输入“y”并回车,进入下一步。

  7. 输入数据库密码。
  8. 输入3中配置的需要导入的文件目录下的文件名,如“test05Dmp”(以二进制格式导入为例,限定导入的文件格式为“dmp”,只需输入文件名即可)。
  9. 查看导入结果,显示如下表示导入成功。

    restore operation successfully
    total time: 82 ms