📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
文章目录
- 📣 1.DataKit介绍
- 📣 2.安装包
- 📣 3.JDK安装
- 📣 3.DataKit部署
- ✨ 3.1 解压安装包
- ✨ 3.2 创建工作目录
- ✨ 3.3 修改配置文件
- ✨ 3.4 创建ssl文件
- ✨ 3.5 启动datakit
- ✨3.6 登录datakit平台
- 📣 4.MySQL迁移
- ✨ 4.1 前置操作
- ✨ 4.2 迁移配置
- ✨ 4.3 迁移任务
DataKit是一个以资源(物理机,数据库)为底座的开发运维工具
📣 1.DataKit介绍
DataKit是一个以资源(物理机,数据库)为底座的开发运维工具,将上层的开发运维工具插件化,各插件之间相互独立,方便用户按需引入。各插件围绕DataKit的资源中心进行扩展开,完成数据库的运维,监控,迁移,开发,建模等复杂的操作。
DataKit是基于spring-brick开发的插件化的工具,前台使用vue,后台使用spring-bot技术栈。DataKit基座提供资源管理,安全中心,日志中心等基础的公共能力,具体的数据库安装,运维,监控,数据迁移等能力是基于spring-brick开发的插件工具,可以灵活的在基座上面安装卸载,方便客户按需使用。
📣 2.安装包
1.Datakit安装包
https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/tools/Datakit/Datakit-5.1.0.tar.gz 2.PortalControl安装包
https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/tools/centos7/PortalControl-5.1.0-x86_64.tar.gz
3.openGauss极简版
https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/x86/openGauss-5.1.0-CentOS-64bit.tar.bz2
4.jdk11
https://www.oracle.com/java/technologies/downloads/#java11
📣 3.JDK安装
1.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
2.当前JDK版本
[root@centos79 ~]# java -version
openjdk version "1.8.0_262"
OpenJDK Runtime Environment (build 1.8.0_262-b10)
OpenJDK 64-Bit Server VM (build 25.262-b10, mixed mode)
[root@centos79 ~]# rpm -qa | grep jdk
java-1.8.0-openjdk-headless-1.8.0.262.b10-1.el7.x86_64
java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64
copy-jdk-configs-3.3-10.el7_5.noarch
yum -y remove copy-jdk-configs.noarch
3.压缩安装包
tar -zxvf jdk-11.0.21_linux-x64_bin.tar.gz -C /usr/local
ln -s /usr/local/jdk-11.0.21/bin/java /usr/bin/java
4.环境变量导入
vi /etc/profile
export JAVA_HOME=/usr/local/jdk-11.0.21
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
5.环境变量生效
source /etc/profile
6.确认安装是否成功
[root@centos79 ~]# java -version
java version "11.0.21" 2023-10-17 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.21+9-LTS-193)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.21+9-LTS-193, mixed mode)
📣 3.DataKit部署
✨ 3.1 解压安装包
[root@centos79 ~]# mkdir -p /datakit/datakit5.1
[root@centos79 ~]# tar -zxvf /opt/Datakit-5.1.0.tar.gz -C /datakit/datakit5.1
✨ 3.2 创建工作目录
[root@centos79 ~]# cd /datakit/datakit5.1
[root@centos79 datakit5.1]# ll
total 92228
-rw-r--r--. 1 root root 939 Sep 28 14:17 application-temp.yml
drwxr-xr-x. 2 root root 4096 Sep 28 14:21 doc
-rw-r--r--. 1 root root 94426176 Sep 28 14:17 openGauss-datakit-5.1.0.jar
drwxr-xr-x. 2 root root 4096 Sep 28 14:21 visualtool-plugin
[root@centos79 datakit5.1]# mkdir -p logs config ssl files
✨ 3.3 修改配置文件
[root@centos79 ~]# cd /datakit/datakit5.1
[root@centos79 datakit5.1]# cp ./application-temp.yml ./config
修改config目录下默认配置文件application-temp.yml文件中的数据库连接ip、port、database、username、password,
并将配置文件中涉及的默认工作目录/ops均修改为实际工作目录/datakit/datakit5.1,test-while-idle配置为false。
vi /datakit/datakit5.1/config/application-temp.yml
system:
# File storage path
defaultStoragePath: /datakit/datakit5.1/files
# Whitelist control switch
whitelist:
enabled: false
server:
port: 9494
ssl:
key-store: /datakit/datakit5.1/ssl/keystore.p12
key-store-password: 123456
key-store-type: PKCS12
enabled: false
servlet:
context-path: /
logging:
file:
path: /datakit/datakit5.1/logs/
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: org.opengauss.Driver
url: jdbc:opengauss://192.168.6.22:5432/datakit?currentSchema=public&batchMode=off
username: datakit_admin
password: Sample@123
druid:
test-while-idle: false
test-on-borrow: true
validation-query: "select 1"
validation-query-timeout: 10000
connection-error-retry-attempts: 0
break-after-acquire-failure: true
max-wait: 3000
management:
server:
✨ 3.4 创建ssl文件
–root用户下操作
keytool -genkey -noprompt
-dname “CN=opengauss, OU=opengauss, O=opengauss, L=Beijing, S=Beijing, C=CN”
-alias opengauss
-storetype PKCS12
-keyalg RSA
-keysize 2048
-keystore /datakit/datakit5.1/ssl/keystore.p12
-validity 3650
-storepass 123456
✨ 3.5 启动datakit
cd /datakit/datakit5.1
nohup java -Xms2048m -Xmx4096m -jar openGauss-datakit-5.1.0.jar
–spring.profiles.active=temp > ./logs/datakit.out 2>&1 &
##查看日志
tail -200f /datakit/datakit5.1/logs/datakit.out
✨3.6 登录datakit平台
启动成功后,可通过浏览器界面访问datakit平台
登录地址:https://192.168.6.22:9494/,其中192.168.6.22为实际ip
初始用户:admin
初始密码:admin123
首次登录需修改初始密码
admin123@123
📣 4.MySQL迁移
✨ 4.1 前置操作
–DataKit实例管理中创建数据源
MySQL和openGauss数据库启动后可在datakit平台–资源中心–实例管理中创建对应的数据源1)创建MySQL数据源
ip为192.168.6.22
port为默认端口3306
用户名mysql_test
密码password123
2)创建openGauss数据源
ip为实际192.168.6.22
port为默认端口5432
用户名datakit_admin
密码Sample@123
创建完成后DataKit平台界面会显示对应的数据源
–DataKit服务器管理中添加服务器
在datakit平台–资源中心–服务器管理中添加对应的服务器,被管理的机器才可用于安装迁移插件,本次实验用本机作为迁移插件的执行机
请注意这里密码为root用户的密码,并需要勾选记住密码,否则将不能用作迁移插件的执行机。
服务器添加完成后DataKit平台会显示对应的服务器信息
在用户管理界面添加个人用户test
用户添加完成后会显示在用户列表中显示已添加的用户
✨ 4.2 迁移配置
MySQL迁移全流程包括全量迁移、全量校验、增量迁移、增量校验和反向迁移五个阶段,下面将详细介绍迁移全流程。
1.创建迁移任务
在Datakit平台数据迁移–迁移任务中心–创建迁移任务,选定源端数据库(source_db)和目的端数据库(target_db),添加子任务,迁移过程模式选择在线模式。
迁移模式包括离线和在线两种模式,其中离线模式包括全量迁移和全量校验两个阶段,在线模式包括全量迁移、全量校验、增量迁移、增量校验、反向迁移和五个阶段,本次实践选择在线模式,囊括业务割接的整个过程。
详细描述如下:
(1)在Datakit平台数据迁移–迁移任务中心–创建迁移任务
(2)选定源端数据库(source_db)和目的端数据库(target_db),添加子任务,迁移过程模式选择在线模式。
(3)编辑配置参数
可直接使用默认参数,无需修改,或者根据实际自定义
2.安装迁移插件
首次创建迁移任务时,需安装迁移插件,针对服务器管理中添加的服务器,选择开始安装即可。
若无对应的物理机,请记得将要安装插件的机器添加至服务器管理中,并添加。
✨ 4.3 迁移任务
对于在线模式的迁移任务,任务启动后,会首先进入全量迁移阶段,将MySQL端预置的数据迁移至目标库,全量迁移结束后会进入全量校验阶段,会输出每个表的校验结果;之后进入增量迁移阶段,增量迁移阶段会同步执行增量校验。详情界面可以看到迁移过程状态信息。
详细描述如下:
(1)启动迁移任务
详情界面可以看到详细的迁移过程状态信息
(2)首先进行全量迁移
全量迁移会将表、数据、视图、函数、触发器、存储过程迁移至openGauss数据库,全量迁移结束后,可在openGauss端验证数据及对象是否成功迁移。
图示为全量迁移完成:
3)全量迁移完成后进行全量校验,全量校验输出每个表的校验结果
(3)全量校验完成后进行增量迁移
增量迁移会将增量的数据(增删改)和DDL迁移至openGauss数据库,与增量迁移并行执行的还有增量校验。