portal安装及全量迁移gs_mysync的使用

portal安装及全量迁移gs_mysync的使用

获取安装包

各系统版本和架构对应的下载链接如下:

系统名称系统架构下载链接
centos7x86_64https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/centos7/PortalControl-6.0.0-x86_64.tar.gz
openEuler20.03x86_64https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/openEuler20.03/PortalControl-6.0.0-x86_64.tar.gz
openEuler20.03aarch64https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/openEuler20.03/PortalControl-6.0.0-aarch64.tar.gz
openEuler22.03x86_64https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/openEuler22.03/PortalControl-6.0.0-x86_64.tar.gz
openEuler22.03aarch64https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/openEuler22.03/PortalControl-6.0.0-aarch64.tar.gz

本教程使用centos系统,在普通用户下安装

解压
#创建下载portal位置的文件夹/data/ccc0703,把权限给普通用户ccc0703
mkdir /data/ccc0703
chown ccc0703:ccc0703 -R ccc0703

#登录普通用户
su - ccc0703

# 下载安装包
cd /data/ccc0703
wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/centos7/PortalControl-6.0.0-x86_64.tar.gz

#解压
tar -zxvf PortalControl-6.0.0-x86_64.tar.gz

查看下载结果

cd portal
ll

请添加图片描述

配置安装文件,执行安装迁移工具
vi config/toolspath.properties

#修改tools将要下载的位置
tools.version=6.0.0
system.name=centos7
system.arch=x86_64

chameleon.install.path=/data/ccc0703/portal/tools/chameleon/  
chameleon.venv.path=/data/ccc0703/portal/tools/chameleon/chameleon-${tools.version}/
chameleon.path=~/.pg_chameleon/
chameleon.pkg.url=https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/${system.name}/chameleon-${tools.version}-${system.arch}.tar.gz
chameleon.pkg.path=/data/ccc0703/portal/pkg/chameleon/
chameleon.pkg.name=chameleon-${tools.version}-${system.arch}.tar.gz

debezium.path=/data/ccc0703/portal/tools/debezium/
confluent.path=/data/ccc0703/portal/tools/debezium/confluent-5.5.1/
confluent.install.path=/data/ccc0703/portal/tools/debezium/
connector.path=/data/ccc0703/portal/tools/debezium/plugin/
connector.mysql.path=/data/ccc0703/portal/tools/debezium/plugin/debezium-connector-mysql/
connector.opengauss.path=/data/ccc0703/portal/tools/debezium/plugin/debezium-connector-opengauss/

confluent.pkg.url=https://packages.confluent.io/archive/5.5/confluent-community-5.5.1-2.12.zip
connector.mysql.pkg.url=https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/replicate-mysql2openGauss-${tools.version}.tar.gz
connector.opengauss.pkg.url=https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/replicate-openGauss2mysql-${tools.version}.tar.gz

debezium.pkg.path=/data/ccc0703/portal/pkg/debezium/
confluent.pkg.name=confluent-community-5.5.1-2.12.zip
connector.mysql.pkg.name=replicate-mysql2openGauss-${tools.version}.tar.gz
connector.opengauss.pkg.name=replicate-openGauss2mysql-${tools.version}.tar.gz

datacheck.pkg.url=https://opengauss.obs.cn-south-1.myhuaweicloud.com/latest/tools/gs_datacheck-${tools.version}.tar.gz
datacheck.install.path=/data/ccc0703/portal/tools/
datacheck.path=/data/ccc0703/portal/tools/gs_datacheck-${tools.version}/
datacheck.pkg.path=/data/ccc0703/portal/pkg/datacheck/
datacheck.pkg.name=gs_datacheck-${tools.version}.tar.gz
datacheck.extract.jar.name=datachecker-extract-${tools.version}.jar
datacheck.check.jar.name=datachecker-check-${tools.version}.jar

#执行命令安装全部的迁移工具install_mysql_all_migration_tools
sh gs_rep_portal.sh install_mysql_all_migration_tools 1 &

#如果不需要全部安装可以参考官网的安装指令代替install_mysql_all_migration_tools

查看结果

请添加图片描述

portal在执行以上命令时不只安装了全量迁移工具,还有增量迁移等其他工具,那么portal启动confluent(内置kafka)作为运行其他工具时的准备动作。安装之后将自动运行准备动作指令。

#结束准备动作时的命令:
sh gs_rep_portal.sh stop_kafka a

需要启动的话用:sh gs_rep_portal.sh start_kafka a

配置迁移参数
本章以全量迁移为准

需要配置的文件有 (需要注意两个文件的一致性)

1. portal/config/migrationConfig.properties
vi /data/ccc0703/portal/config/migrationConfig.properties

snapshot.object=yes

mysql.user.name=portal_mysql

mysql.user.password=Huawei@123

mysql.database.host=192.168.0.219

mysql.database.port=12600

mysql.database.name=portal_db

opengauss.user.name=portal_mysql

opengauss.user.password=Huawei@123

opengauss.database.host=127.0.0.1

opengauss.database.port=15600

opengauss.database.name=portal_db

opengauss.database.schema=sch_portal_db

default.install.mysql.full.migration.tools.way=offline

default.install.mysql.incremental.migration.tools.way=offline

default.install.mysql.datacheck.tools.way=offline

default.install.mysql.reverse.migration.tools.way=offline
full.check.extract.source.jvm=-Xmx1G -Xms1G -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./check_result/result/heap_source.hprof

full.check.extract.sink.jvm=-Xmx1G -Xms1G -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./check_result/result/heap_sink.hprof

full.check.jvm=-Xmx1G -Xms1G -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./check_result/result/heap.hprof

incremental.check.extract.source.jvm=-Xmx1G -Xms1G -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled

incremental.check.extract.sink.jvm=-Xmx1G -Xms1G -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled

incremental.check.jvm=-Xmx1G -Xms1G -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+ParallelRefProcEnabled

zookeeper.port=127.0.0.1:2181

kafka.port=127.0.0.1:9092

confluent.port=127.0.0.1:8081

drop.logical.slot.on.stop=true


.....
2. portal/config/chameleon/config-example.yml
# global settings
pid_dir: '~/.pg_chameleon/pid/'
log_dir: '~/.pg_chameleon/logs/'
log_dest: file
log_level: info
log_days_keep: 10
rollbar_key: ''
rollbar_env: ''
dump_json: No

# type_override allows the user to override the default type conversion
# into a different one.

type_override:
#  "tinyint(1)":
#    override_to: boolean
#    override_tables:
#      - "*"

# specify the compress properties when creating tables
compress_properties:
  compresstype: 0
  compress_level: 0
  compress_chunk_size: 4096
  compress_prealloc_chunks: 0
  compress_byte_convert: false
  compress_diff_convert: false

# postgres destination connection
pg_conn:
  host: "localhost"
  port: "15600"
  user: "portal_mysql"
  password: "Huawei@123"
  database: "portal_db"
  charset: "utf8"
  params:
#    maintenance_work_mem: "1G"
#    param1: value1
#    param2: value2

sources:
  mysql:
    readers: 4
    writers: 4
    retry: 3
    db_conn:
      host: "ecs-6ac8"
      port: "12600"
      user: "portal_mysql"
      password: "Huawei@123"
      charset: 'utf8'
      connect_timeout: 10
    schema_mappings:
      portal_db: sch_portal_db   #上面配置文件的opengauss.database.schema与: 后面的一致
    limit_tables:
      - delphis_mediterranea.foo
    skip_tables:
      - delphis_mediterranea.bar
    enable_compress: No
    compress_tables:
      - delphis_mediterranea.foo
    grant_select_to:
      - usr_readonly
    lock_timeout: "120s"
    my_server_id: 100
    replica_batch_size: 10000
    replay_max_rows: 10000

执行迁移
#安装
sh gs_mysync.sh install 1   

#1是默认的workspace,如果想修改某个workspace的参数,比如workspace.id=2的计划的参数,请将/ops/portal/config替换为/ops/portal/workspace/2/config。

#其中workspace.id表示迁移任务id,取值为数字和小写字母的组合,不同的id区分不同的迁移任务,不同迁移任务可并行启动。若未设置workspace.id,则使用其默认值1。若使用已存在的workspace.id,并修改其中的配置,请在portal/workspace/${workspace.id}/config/路径下修改对应的配置文件

#启动
sh gs_mysync.sh start 1

若没有报错,则检查是否迁移完成

若有报错,则查看portal/workspace/1/logs/full_migration.log文件(见常见问题处理方式)

检查是否迁移完成

请添加图片描述

常见问题处理方式
查看日志
vi /data/ccc0703/portal/workspace/1/logs/full_migration.log
1、database不存在:

请添加图片描述

我们配置的文件在portal/config下,执行命令的workspace.id=1,可能是portal/workspace/1/config里的配置文件没有更新过来:

vi /data/ccc0703/portal/workspace/1/config/migrationConfig.properties

vi /data/ccc0703/portal/workspace/1/config/chameleon/default_1.yml

#检查以上两个配置文件的内容是否与之前配置的一致,如果不一致就修改后再启动
2、lower_case_table_names不一致

请添加图片描述

修改openGauss配置文件/data/ccc0703/om_cluster/install/data/dn/postgresql.conf,在其末尾加上dolphin.lower_case_table_names=0,然后重启openGauss,一定要重启!

请添加图片描述

重启openGauss后再执行迁移

3、注意

如果MySQL和openGauss不在同一台机器则需要openGauss配置文件的:

posgresql.conf中的listen_address=‘*’

pg_hba.conf末尾加上host all all 0.0.0.0/0 sha256 (注意与其他内容保持一致)

修改完需要重启openGauss
onf,在其末尾加上dolphin.lower_case_table_names=0,然后重启openGauss,一定要重启!

[外链图片转存中…(img-s1djqrlw-1720151344188)]

重启openGauss后再执行迁移

3、注意

如果MySQL和openGauss不在同一台机器则需要openGauss配置文件的:

posgresql.conf中的listen_address=‘*’

pg_hba.conf末尾加上host all all 0.0.0.0/0 sha256 (注意与其他内容保持一致)
可以参考

修改完需要重启openGauss

  • 29
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值