如何搭建Datakit迁移环境
发表于 2023/12/11
0
本文的实操过程需要使用鲲鹏平台环境,以及Datakit软件包和openGauss软件包。
环境部署
如果开发者选择使用自备的鲲鹏平台环境来完成实验,则需要确保平台环境与如下环境要求保持一致。
硬件要求:
项目  | 说明  | 
|---|---|
CPU  | Kunpeng 920  | 
操作系统要求:
项目  | 版本  | 下载地址  | 
|---|---|---|
OpenEuler  | 20.03  | https://repo.openeuler.org/openEuler-20.03-LTS-SP3/ | 
软件要求:
环境配置
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@1232. 参数配置
设置配置文件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 -r4. 启停命令总结
启动数据库:
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.xxDatakit部署
/opt/datakit目录下已提前下载好datakit 安装包Datakit-5.1.0.tar.gz,直接解压并配置相关参数即可部署一站式迁移平台datakit。
1. 解压安装包
假设DataKit安装在/opt/datakit/datakit5.1目录中:
mkdir -p /opt/datakit/datakit5.1cd /opt/datakit/datakit5.1tar -zxvf /opt/datakit/Datakit-5.1.0.tar.gz .2. 创建工作目录
mkdir -p logs config ssl files
mkdir -p logs config ssl files
3. 拷贝配置文件
cp ./application-temp.yml ./config4. 修改配置文件
修改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 pathdefaultStoragePath: /opt/datakit/datakit5.1/files# Whitelist control switchwhitelist:enabled: falseserver:port: 9494ssl:key-store: /opt/datakit/datakit5.1/ssl/keystore.p12key-store-password: 123456key-store-type: PKCS12enabled: falseservlet:context-path: /logging:file:path: /opt/datakit/datakit5.1/logs/spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: org.opengauss.Driverurl: jdbc:opengauss://xx.xx.xx.xx:5432/datakit?currentSchema=public&batchMode=offusername: opengauss_testpassword: Sample@123druid:test-while-idle: falsetest-on-borrow: truevalidation-query: "select 1"validation-query-timeout: 10000connection-error-retry-attempts: 0break-after-acquire-failure: truemax-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.1nohup 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
首次登录需修改初始密码



