鲲鹏社区首页
中文
注册
如何搭建Datakit迁移环境

如何搭建Datakit迁移环境

openGauss

发表于 2023/12/11

0

本文的实操过程需要使用鲲鹏平台环境,以及Datakit软件包和openGauss软件包。

环境部署

如果开发者选择使用自备的鲲鹏平台环境来完成实验,则需要确保平台环境与如下环境要求保持一致。

硬件要求:

项目

说明

CPU

Kunpeng 920

操作系统要求:

项目

版本

下载地址

OpenEuler

20.03

https://repo.openeuler.org/openEuler-20.03-LTS-SP3/

软件要求:

项目

版本

下载地址

JDK

11.0.20

https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_jdk/bisheng-jdk-11.0.20-linux-aarch64.tar.gz

Datakit软件包

5.1.0

https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/tools/Datakit/Datakit-5.1.0.tar.gz

openGauss软件包

5.0.0

https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.0.0/arm/openGauss-5.0.0-openEuler-64bit-all.tar.gz

MySQL软件包

5.7.27

https://obs.cn-north-4.myhuaweicloud.com/obs-mirror-ftp4/database/mysql-5.7.27-aarch64.tar.gz

数据迁移插件

5.1.0

https://opengauss.obs.cn-south-1.myhuaweicloud.com/5.1.0/tools/openEuler20.03/PortalControl-5.1.0-aarch64.tar.gz

环境配置

1. 创建用户

openGauss 数据库安装和使用需使用非root用户,因此本次Datakit数据迁移实践将使用个人用户test完成,并在实验开始时关闭防火墙。

systemctl stop firewallduseradd testpasswd test

注意:后续所有操作如未特殊说明,均使用test用户完成。
例如:密码设定为Sample@123,需输入两次
将环境部署时下载的安装包放在/opt/datakit/目录下,并将/opt/datakit目录赋权给test用户,并切换至test用户

2. JDK安装配置

在ARM服务器上,datakit 5.1.0要求jdk版本是11及以上。

输入命令java -version查看jdk版本:


环境中没有jdk(如上图)或者版本低于11则需要重新安装JDK。

首先,下载并配置JDK:

mkdir -p /opt/datakit/tools/jdkcd /opt/datakit/tools/jdkwget https://mirrors.huaweicloud.com/kunpeng/archive/compiler/bisheng_jdk/bisheng-jdk-11.0.20-linux-aarch64.tar.gztar -zxvf bisheng-jdk-11.0.20-linux-aarch64.tar.gz

如何通过开发框架工具快速部署SDK并创建工程

然后,配置环境变量:

vim /home/test/.bashrc

文件末尾新增配置:

export JAVA_HOME=/opt/datakit/tools/jdk/bisheng-jdk-11.0.20export PATH=$JAVA_HOME/bin:$PATH

:wq保存文件并退出,执行:source /home/test/.bashrc

java -version查看jdk版本是否是11.0.20

MySQL安装配置

下载MySQL 5.7:

mkdir -p /opt/datakit/tools/mysql5.7cd /opt/datakit/tools/mysql5.7wget https://obs.cn-north-4.myhuaweicloud.com/obs-mirror-ftp4/database/mysql-5.7.27-aarch64.tar.gztar -xvf mysql-5.7.27-aarch64.tar.gz

1. 创建配置文件

创建配置文件/opt/datakit/tools/mysql5.7/my.cnf

并输入如下配置项:

[mysqld]port=3306basedir=/opt/datakit/tools/mysql5.7/mysql-5.7.27-aarch64datadir=/opt/datakit/tools/mysql5.7/datadirpid-file=/opt/datakit/tools/mysql5.7/mysql.pidsocket=/opt/datakit/tools/mysql5.7/mysql.socklog_error=/opt/datakit/tools/mysql5.7/error.logserver-id=1enforce_gtid_consistency=ongtid_mode=onbinlog_format= ROWlog_bin=mysql-binbinlog_row_image=FULLbind_address = xx.xx.xx.xx

请注意bind_address = xx.xx.xx.xx需修改为实际ip,实际ip可通过ifconfig命令查看。

:wq保存文件并退出。

2. 安装并启动

配置环境变量:

vim /home/test/.bashrc

文件末尾新增配置:

export MYSQL_PATH=/opt/datakit/tools/mysql5.7/mysql-5.7.27-aarch64export PATH=$MYSQL_PATH/bin:$PATH

:wq保存文件并退出,执行:

source /home/test/.bashrc

mysql --version查看mysql版本。

a. 安装MySQL

mysqld --defaults-file=/opt/datakit/tools/mysql5.7/my.cnf  --initialize  --user=test --basedir=/opt/datakit/tools/mysql5.7/mysql-5.7.27-aarch64 --datadir=/opt/datakit/tools/mysql5.7/datadir

如果在安装过程中出现报错:

./mysqld: error while loading shared libraries: libatomic.so.1: cannot open shared object file: No such file or directory

对应的解决方案为创建软链接:

ln -s /opt/datakit/tools/mysql5.7/mysql-5.7.27-aarch64/extra/libatomic.so.1 /usr/lib64/libatomic.so.1

该操作需在root下执行

b. 启动MySQL

mysqld_safe --defaults-file=/opt/datakit/tools/mysql5.7/my.cnf --user=test &

查看root用户的临时密码

cat /opt/datakit/tools/mysql5.7/error.log | grep root@localhost

用上面查到的密码登录MySQL

mysql -u root -p -S /opt/datakit/tools/mysql5.7/mysql.sock

设置root用户的密码,新的密码为123456

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

创建新的用户mysql_test,对应的密码为password123

CREATE USER mysql_test; SET PASSWORD FOR mysql_test=PASSWORD('password123'); GRANT ALL ON *.* TO 'mysql_test'; GRANT RELOAD ON *.* to 'mysql_test'; GRANT REPLICATION CLIENT ON *.* to 'mysql_test'; GRANT REPLICATION SLAVE ON *.* to 'mysql_test'; FLUSH PRIVILEGES; 

查看mysql的用户,确认新用户创建成功

select * from mysql.user;

3. 启停命令总结

若需手动启停或连接MySQL,可使用如下命令:

a. 启动MySQL

mysqld_safe --defaults-file=/opt/datakit/tools/mysql5.7/my.cnf --user=test &

b. 远程连接命令

其中-h指定的参数 xx.xx.xx.xx需修改为实际ip

mysql -h xx.xx.xx.xx -P 3306 -u mysql_test -ppassword123 -S /opt/datakit/tools/mysql5.7/mysql.sock

c. 关闭MySQL

mysqladmin shutdown -u mysql_test -p -S /opt/datakit/tools/mysql5.7/mysql.sock

密码password123

openGauss部署

1. 环境变量部署

/opt/datakit目录下已提前下载好openGauss 安装包openGauss-5.0.0-openEuler-64bit-all.tar.gz,直接解压并配置环境变量即可。

a. 部署openGauss数据库

cd /opt/datakitmkdir opengausstar -zxvf openGauss-5.0.0-openEuler-64bit-all.tar.gz -C opengausscd opengausstar -xf openGauss-5.0.0-openEuler-64bit.tar.bz2

b. 配置环境变量

vim /home/test/.bashrc

文件末尾新增配置:

export GAUSSHOME=/opt/datakit/opengaussexport LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATHexport PATH=$GAUSSHOME/bin:$PATH

:wq保存文件并退出,执行:

source /home/test/.bashrc

初始化数据库

gs_initdb -D /opt/datakit/opengauss/datanode/dn1 --nodename=single -w Sample@123

2. 参数配置

设置配置文件pg_hba.conf相关参数:

gs_guc set -D /opt/datakit/opengauss/datanode/dn1 -h "host all all 0.0.0.0/0 sha256"
gs_guc set -D /opt/datakit/opengauss/datanode/dn1 -h "host replication all 0.0.0.0/0 sha256"

设置配置文件postgresql.conf相关参数:

gs_guc set -D /opt/datakit/opengauss/datanode/dn1 -c "listen_addresses = '*'"

gs_guc set -D /opt/datakit/opengauss/datanode/dn1 -c "wal_level = logical"

3. 启动数据库

启动数据库

gs_ctl start -D /opt/datakit/opengauss/datanode/dn1

连接数据库

gsql -d postgres -p 5432 -r

创建用户及数据库

create user opengauss_test with password 'Sample@123';grant all privileges to opengauss_test;create database datakit;create database target_db with dbcompatibility = 'b';

其中datakit数据库作为datakit平台的底层数据库,target_db作为数据迁移的目标数据库。

\q退出gsql命令,使用初始用户连接b库,目的是加载dolphin插件。

gsql -d target_db -p 5432 -r

4. 启停命令总结

启动数据库:

gs_ctl start -D /opt/datakit/opengauss/datanode/dn1

关闭数据库:

gs_ctl stop -D /opt/datakit/opengauss/datanode/dn1

远程连接数据库

其中-h指定的参数 xx.xx.xx.xx需修改为实际ip。

gsql -d target_db -p 5432 -r -U opengauss_test -W Sample@123 -h xx.xx.xx.xx

Datakit部署

/opt/datakit目录下已提前下载好datakit 安装包Datakit-5.1.0.tar.gz,直接解压并配置相关参数即可部署一站式迁移平台datakit。

1. 解压安装包

假设DataKit安装在/opt/datakit/datakit5.1目录中:

mkdir -p /opt/datakit/datakit5.1
cd /opt/datakit/datakit5.1
tar -zxvf /opt/datakit/Datakit-5.1.0.tar.gz .

2. 创建工作目录

mkdir -p logs config ssl files

3. 拷贝配置文件

cp ./application-temp.yml ./config

4. 修改配置文件

修改config目录下默认配置文件application-temp.yml文件中的数据库连接ip、port、database、username、password,并将配置文件中涉及的默认工作目录/ops均修改为实际工作目录/opt/datakit/datakit5.1,server-ssl-enabled配置为false。

“启动数据库”小节已经创建了数据库datakit可作为datakit平台的底层数据库,以及数据库用户opengauss_test,密码Sample@123,因此可配置连接ip=实际ip、port=5432、database=datakit、username=opengauss_test、password= Sample@123

以下提供修改后的配置文件:

system:  # File storage path  defaultStoragePath: /opt/datakit/datakit5.1/files  # Whitelist control switch  whitelist:    enabled: falseserver:  port: 9494  ssl:    key-store: /opt/datakit/datakit5.1/ssl/keystore.p12    key-store-password: 123456    key-store-type: PKCS12    enabled: false  servlet:    context-path: /logging:  file:    path: /opt/datakit/datakit5.1/logs/spring:  datasource:    type: com.alibaba.druid.pool.DruidDataSource    driver-class-name: org.opengauss.Driver    url: jdbc:opengauss://xx.xx.xx.xx:5432/datakit?currentSchema=public&batchMode=off    username: opengauss_test    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: 3000management:  server:    port: 9494

请注意将ip xx.xx.xx.xx修改为实际ip

5. 创建ssl文件

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 /opt/datakit/datakit5.1/ssl/keystore.p12 -validity 3650 -storepass 123456

此处为一条完整命令

a. 启动datakit

cd /opt/datakit/datakit5.1
nohup java -Xms2048m -Xmx4096m -jar openGauss-datakit-5.1.0.jar --spring.profiles.active=temp > ./logs/datakit.out 2>&1 &

b. 登录datakit平台:

启动成功后,可通过浏览器界面访问datakit平台

登录地址:http://xx.xx.xx.xx:9494/,其中xx.xx.xx.xx为实际ip

初始用户:admin

初始密码:admin123

首次登录需修改初始密码

本页内容