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

TMS数据迁移平台部署手册

IT那活儿 2025-03-24
347

点击上方“IT那活儿”公众号--专注于企业全栈运维技术分享,不管IT什么活儿,干就完了!!!


TMS架构总览

1.1 硬件需求

x86服务器1台,用于部署tms后端和前端代码,也可以选择和TiDB部署到一台服务器。

  • 配置

    4C/8G/200G

  • 操作系统

    redhat/centos 7.9/8+(如果需要运行在ARM/麒麟平台,请跟TS团队提前沟通)。

1.2 软件需求

Mysql 8.0 数据库或tidb6.0+。


TMS后端部署

2.1 安装Mysql数据库

如果现场tidb允许tms接入使用,可直接在tidb创建schema。

环境必须安装Mysql客户端。

登陆数据库,创建tms后台schema:

Shell
CREATE DATABASE tms_meta;
CREATE USER tms IDENTIFIED BY 'tms';
GRANT ALL PRIVILEGES on *.* to tms;

2.2 安装Oracle客户端

如果客户环境已安装Oracle客户端或服务端,可以跳过此步骤。

安装步骤来自ODPI-C Installation — ODPI-C v4.6.1,概述如下:

1)下载Oracle客户端

https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html

2)部署Oracle客户端
Plaintext
mkdir -p /tidb-data1/oracle
cd /tidb-data1/oracle
unzip instantclient-basic-linux.x64-21.11.0.0.0dbru.zip

3)安装系统包
Plaintext
yum install libaio

Package libaio-0.3.109-13.el7.x86_64 already installed and latest version

4)设置环境变量
Plaintext
vi /etc/profile
export LD_LIBRARY_PATH=/tidb-data1/oracle/instantclient_21_11


部署TMS服务

3.1 创建软件目录,并上传软件
SQL
 mkdir tidb-data1/tms/bin
Tms软件存放9.20.160.18:/tidb-data1/oracle/soft/timsv0.5.zip

上传如下3个软件包到部署目录:

SQL
tms-server
config.toml
dist.zip

3.2 修改配置文件config.toml
提供Mysql连接信息,以及软件License(参考4.软件license申请步骤)
Plaintext

vi config.toml

配置文件示例:

Python
#server ip
#server-host = "127.0.0.1"

#
server listen port
server-port = 8082

#
data storage directory, include database file, log file; default value is './data'
data-dir = "./data"

static-file-path = "./dist"

license = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQzNzYzODMsInN1YiI6eyJNYWNoaW5lSUQiOiI5NzY5NjEzYjQxNTRiZWMwMzUxZDU1Y2NkZjYwMjAwOWM2MGNiOGUyNGMyNTFiMTVmMjRiODZlODMyNTdhYzU2IiwiRmxhZyI6ImxpY2Vuc2UifX0.X0-3Xp0FIRYOt4PRa0q83I5r4RWunjplJ-r1AD9WgGs"
[db]
host = "9.20.160.18" #TMS后台库的连接地址 
port = 8000 #TMS后台库的连接端口 
user = "tms" #TMS后台库的连接用户 
password = "tms" #TMS后台库的连接密码 
schema = "tms_meta" #TMS后台库的schema 
# database log level, its value is info, warn, silent, error; dafault value is warn.
db-log-level = "info"
# database log file name, default value is 'sql'
#db-log-file = "sql"
# sqlite database file directory, default value is the same as 'data-dir'
#db-file-dir = "./data"

[log]
# log level
#log-level ="info"
log-level ="debug"

#
log file name, default value is 'tms'
#log-file-name = "tms"

#
root directory to store log file, default value is the same as 'data-dir'
#log-file-root = "./data"

#
max size(M) of log
log-max-size = 512

log-max-age = 30

log-max-backups = 0

3.3 解压前端代码dist.zip
SQL
unzip dist.zip

3.4 启动tms-server
SQL
nohup ./tms-server 2>&1 &

3.5 执行数据初始化
注:请务必在license配置完成,tms-server启动好再执行tms_init.sql。tms-server启动会自动建表。
Plaintext

MySQL [tms_meta]> source /tidb-data1/tms/bin/tims_init.sql

下面的附件仅供参考,tms_init.sql在软件包中:

登陆浏览器:
SQL

http://ip:8082

用户名/密码: admin/admin

显示如下页面,即为部署成功:


软件license申请步骤

TMS部署需要联系TS团队申请License,获取步骤如下:

4.1 执行如下命令获取key
将获取到的key发送给TS团队@孙林或@吴超。
SQL
./tms-server --genKey

如果不方便把key拷贝出来,也可以在tms-server启动起来以后,通过tms页面获取key的二维码。

4.2 TS团队会根据用户提供的key信息来生成默认30天可用期的license

获取到TS团队(发正式邮件给@孙林@Stone wang@金文涛)生成的license后(初始默认30天有效期),配置到config.toml文件中的license条目。

4.3 修改配置文件config.toml
提供Mysql连接信息,以及软件License。
SQL
vi config.toml

替换配置文件的如下模块:

SQL

license = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2ODQzNzYzOD
MsInN1YiI6eyJNYWNoaW5lSUQiOiI5NzY5NjEzYjQxNTRiZWMwMzUxZDU1Y2
NkZjYwMjAwOWM2MGNiOGUyNGMyNTFiMTVmMjRiODZlODMyNTdhYzU2IiwiRm
xhZyI6ImxpY2Vuc2UifX0.X0-3Xp0FIRYOt4PRa0q83I5r4RWunjplJ-r1AD9WgGs"


TMS使用手册

5.1 规则配置

数据迁移有关的规则是系统级默认参数,如果需要调整,在规则管理页面修改:

5.2 模版配置

每个迁移任务均有自己对应的参数模版:

模版参数是系统级配置,建议不要修改,可以在具体任务页面进行参数修改。

5.3 配置数据源

在数据源页面点击新增按钮,按提示添加数据库连接,其中页面底部字符集为必填项,点击保存时会校验是否与数据库实际字符集一致。在保存完成后,页面回到数据源列表界,可以点击“连接测试”测试连通性。

1)Oracle数据库用户需要待迁移数据的访问权限和系统包的执行权限

权限命令:

补充:
createuser testtms identifiedby XXXXXX  defaulttablespace tbs_data;
grantconnect,resourceto testtms ;
grantselectany dictionary to testtms ;
grantselectanytableto testtms ;
grant select_catalog_role to testtms;

2)TiDB数据库用户需要待迁移数据的增删改查、创建、删除权限

权限命令:

举例,创建testtms用户,权限*.*的schema部分可以指定具体的schema名称或者*号
CREATE USER 'testtms'@'%' IDENTIFIED BY 'XXXXX';
GRANT ALL PRIVILEGES ON schema.* TO 'testtms'@'%';
FLUSH PRIVILEGES;

5.4 创建数据迁移管理

在数据迁移管理页面点击“新建”按钮创建数据通道:

1)创建标准模式通道

选择通道类型、数据源、目标端。通道模式选择“标准模式”,勾选“迁移类型”。

选择迁移schema,在右侧“已选对象”列表中,点击“编辑”,可以对已选schema重命名。

执行预检察:

2)创建CSV模式通道

csv模式无需选择迁移列表,第2步直接点“下一步”:

执行预检察:

从通道列表进入CSV模式的通道,此时任务列表为空。点击“批量新建”按钮创建任务:

任务模板从CSV文件导入,CSV文件样例随TMS版本发布。下面文档仅供参考。

sample_task_cfg.csv

4.5 修改任务参数

在任务配置页面,可以调整任务的执行参数。不同任务类型,对应的配置项也不相同。

对象兼容性评估任务配置:

结构迁移任务配置:

全量数据迁移任务配置:

数据校验任务配置:

SQL兼容性任务配置:

4.6 执行数据迁移任务

进入新建的迁移通道中,依次执行各个迁移任务:

执行结果和进度可以在相应的链接查询:

4.7 异常处理

在TMS页面提供错误处理能力,从详情-详情-详情/修正页面可以查看相应的报错信息,错误解除后,在页面执行重试。

日志查看:

TMS后台日志在部署目录下的./data/logs/目录,使用过程中遇到异常,可以查看后台日志。

Plaintext
[root@vm172-XX-XXX-231 tms]# ls -ltr data/logs/
total 222696
-rw-r--r-- 1 root root 126919898 Apr 1417:41 o2t_sync_diff.log.bak
-rw-r--r-- 1 root root 12994 Apr 2014:32 assessment.log
-rw-r--r-- 1 root root 1381 Apr 2015:17 migrate_full.log
-rw-r--r-- 1 root root 2783318 Apr 2016:27 tidbstats.log
-rw-r--r-- 1 root root 502260 Apr 2016:41 o2t_sync_diff.log
-rw-r--r-- 1 root root 9311467 Apr 2016:52 tms.log
-rw-r--r-- 1 root root 74771824 Apr 2016:52 sql.log
-rw-r--r-- 1 root root 13700674 Apr 2016:52 access.log


END


本文作者:李亚明(上海新炬中北团队)

本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论