# 7.1 GA 版本升级到 7.2 GA 版本
⚠️文档中以MySQL数据安装为示例进行安装。
⚠️GA 版本使用的AFCenter版本为8.3.0,对应的EOS Platform版本为8.3.0 LA1。
本文介绍从数据质量 7.1 GA 版本升级到 7.2 GA 版本的升级过程。
# 介质准备
下载数据质量 7.2 GA 介质,解压到安装服务器上。
微应用版本
微应用版本介质目录如下:
## 先解压Primeton_QualityCube_7.2_GA_MicroApp.tar.gz
## 再解压Primeton_QualityCube_7.2_GA_Server.tar.gz, Primeton_QualityCube_7.2_GA_Executor.tar.gz和Primeton_QualityCube_7.2_GA_UI.tar.gz
## Primeton_QualityCube_7.2_GA_Executor
├── bin
│ ├── shutdown.cmd
│ ├── shutdown.sh
│ ├── startup.cmd
│ └── startup.sh
├── config
│ ├── legal-validator-tpl
│ ├── mapper
│ ├── templates
│ ├── application.properties
│ ├── core-site.xml
│ ├── hdfs-site.xml
│ └── logback.xml
├── lib
├── version.properties
└── quality-executor-7.2.0-exec.jar
## Primeton_QualityCube_7.2_GA_Server
├── bin
│ ├── shutdown.cmd
│ ├── shutdown.sh
│ ├── startup.cmd
│ └── startup.sh
├── config
│ ├── QUALITY
│ ├── application-afc.properties
│ ├── application-dqms.properties
│ ├── application.properties
│ ├── application-eureka.properties
│ ├── application-job.properties
│ ├── application-nacos.properties
│ ├── bootstrap.properties
│ ├── seriakiller.xml
│ └── logback-spring.xml
├── db-scripts
│ ├── DaMeng
│ ├── GaussDB
│ ├── HighGo
│ ├── KingbaseES
│ ├── Mysql
│ ├── Oracle
│ ├── Postgresql
│ ├── SqlServer
│ ├── upgrade
│ └── xxl-job
├── lib
├── version.properties
└── dqms-boot-7.2.0-exec.jar
## Primeton_QualityCube_7.2_GA_UI
├── assets
├── index.html
├── remoteEntry.js
├── remoteEntry.js.gz
├── version.properties
└── static
独立部署版本
独立部署版本介质目录如下:
## 解压Primeton_QualityCube_7.2_GA_Standalone.tar.gz
├── clearLog.cmd
├── clearLog.sh
├── server
│ ├── executor ## 执行器后端服务
│ │ ├── bin
│ │ │ ├── shutdown.cmd
│ │ │ ├── shutdown.sh
│ │ │ ├── startup.cmd
│ │ │ └── startup.sh
│ │ ├── config
│ │ │ ├── legal-validator-tpl
│ │ │ ├── mapper
│ │ │ ├── templates
│ │ │ ├── application.properties
│ │ │ ├── core-site.xml
│ │ │ ├── hdfs-site.xml
│ │ │ └── logback.xml
│ │ ├── lib
│ │ ├── version.properties
│ │ └── quality-executor-7.2.0-exec.jar
│ ├── quality ## 数据质量后端服务
│ │ ├── bin
│ │ │ ├── shutdown.cmd
│ │ │ ├── shutdown.sh
│ │ │ ├── startup.cmd
│ │ │ └── startup.sh
│ │ ├── config
│ │ │ ├── QUALITY
│ │ │ ├── application-afc.properties
│ │ │ ├── application-dqms.properties
│ │ │ ├── application-comp-pubresmng.properties
│ │ │ ├── application.properties
│ │ │ ├── application-eureka.properties
│ │ │ ├── application-job.properties
│ │ │ ├── application-nacos.properties
│ │ │ ├── bootstrap.properties
│ │ │ ├── seriakiller.xml
│ │ │ └── logback-spring.xml
│ │ ├── db-scripts
│ │ │ ├── afcenter
│ │ │ ├── all
│ │ │ ├── dqms
│ │ │ ├── eos
│ │ │ └── public-resource
│ │ ├── lib
│ │ ├── pubresmng_ext_lib
│ │ ├── version.properties
│ │ └── dqmsall-boot-7.2.0-exec.jar
│ └── primetonlicense.xml
├── shutdown.cmd
├── shutdown.sh
├── startup.cmd
├── startup.sh
└── web
├── afcenter
│ ├── assets
│ ├── bfp
│ ├── components
│ ├── config
│ ├── ext
│ ├── formDesigner
│ ├── ide
│ ├── portal
│ ├── index.html
│ ├── quality ## 数据质量前端资源文件
│ ├── pubresmng
│ ├── remoteEntry.js
│ ├── remoteEntry.js.gz
│ ├── static
│ └── version.properties
│ ├── widget
└── conf
└── quality.conf
# 停止后端服务
在升级后端服务之前停止对应后端服务
# 升级数据库数据
⚠️升级前强烈建议先备份数据库,再进行数据库升级,以避免数据丢失!
微服务版本升级
升级afcenter,在afcenter数据库中执行升级脚本
- afcenter等升级文档参考825升级830说明 (opens new window)
升级公共资源,在afcneter数据库中执行如下脚本
需要获取公共资源组件的安装介质
- 执行scripts/upgrade/Mysql/8.2.5-8.2.6.sql脚本
- 执行scripts/upgrade/Mysql/8.2.6-8.3.0.sql脚本
升级数据质量的权限、业务字典数据,在afcenter数据库中执行如下脚本
- 在afcenter库中执行db-scripts\upgrade\Mysql\7.1ga-7.2ga\00-quality-afc-data.sql脚本
升级调度器
新版本的数据质量产品中,调度器已经统一使用AFCenter提供的调度中心。
- 数据质量数据库中执行db-scripts\upgrade\Mysql\7.1ga-7.2ga\01-quality-scheduler-ddl.sql脚本
- 数据质量数据库中执行db-scripts\upgrade\Mysql\7.1ga-7.2ga\02-quality-scheduler-data.sql脚本
- 导出调度器表的数据,涉及的表如下:
导出数据时,不要选择生成建表、删表、索引语句,仅导出数据。
xxl_job_info、xxl_job_log、xxl_job_log_report、xxl_job_logglue、xxl_job_registry、xxl_job_user、 xxl_job_group
- 将导出的数据导入到afcenter数据库中
如遇到数据主键冲突,请检查是否存在重复数据,删除或者合并后再进行单条数据导入。
升级数据质量,在数据质量数据库中执行如下脚本
- 执行db-scripts\upgrade\Mysql\7.1ga-7.2ga\11-quality-data.sql脚本
独立部署版本升级
升级afcenter并升级数据质量的权限、业务字典数据
- 执行quality\db-scripts\afcenter\upgrade\Mysql\8.2.5-8.3.0.sql脚本
- 执行quality\db-scripts\dqms\upgrade\Mysql\7.1ga-7.2ga\01-quality-afc-data脚本
升级公共资源
- 执行quality\db-scripts\public-resource\upgrade\Mysql\8.2.5-8.2.6.sql脚本
- 执行quality\db-scripts\public-resource\upgrade\Mysql\8.2.6-8.3.0.sql脚本
升级调度器
- 执行quality\db-scripts\dqms\upgrade\Mysql\7.1ga-7.2ga\01-quality-scheduler-ddl.sql脚本
- 执行quality\db-scripts\dqms\upgrade\Mysql\7.1ga-7.2ga\02-quality-scheduler-data.sql脚本
升级数据质量
- 执行quality\db-scripts\dqms\upgrade\Mysql\7.1ga-7.2ga\11-quality-data.sql脚本
# 替换新版本介质
⚠️升级前请先备份文件。
更新数据质量后端服务
使用解压后的后端介质文件,替换原有文件。
- 微服务应用升级
停止数据质量服务,替换后端程序目录Primeton_QualityCube_7.2_GA_Server
修改Primeton_QualityCube_7.2_GA_Server/config/QUALITY/config/user-config.xml配置中的数据源
修改application-afc.properties配置
afc.application.name=10.15.15.136:28085
修改application.properties配置
# 修改后端端口 server.port=28083 # 修改redis配置 spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.redis.password=
修改application-dqms.properties配置
# 修改检核结果数据读取路径,需要和executor/config/application.properties中检核结果数据存储路径指向位置一致 common.base_dir=../Primeton_QualityCube_7.2_GA_Executor/ # 修改数据库方言,改为对应数据源名称,其中OpenGuass,postgresql,kingbase dialect 使用 postgresql # mysql、oracle、postgresql,sqlserver pagehelper.helperDialect=mysql # 修改调度器地址(与afcenter后端相同) xxl.job.admin.addresses=http://127.0.0.1:28083 xxl.job.admin.token=c0101b6109e8478784ceb8897159fe2b
(可选步骤)其他配置可以按需修改
清空redis缓存数据
启动数据质量服务
停止调度器和执行器
修改Primeton_QualityCube_7.2_GA_Executor/config/application.properties
# 修改执行器端口号 server.port=28092 # mysql,oracle,dm,opengauss,PostgreSQL(KingbaseES,HighGo),sqlserver(改为对应数据源名称,kingbaseES使用postgresql) mybatis.configuration.database-id=mysql # 文件路径(默认executor执行器文件夹路径) common.base_dir=../Primeton_QualityCube_7.2_GA_Executor/ # 文件路径(检核结果数据存储路径,需要和quality后端/config/application-dqms.properties中检核结果数据读取路径指向位置一致) common.damp_dir=../Primeton_QualityCube_7.2_GA_Executor/ # 修改执行器数据库地址 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/quality?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8 spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # 修改afc地址 afc.server.url=http://127.0.0.1:28083 afc.server.token=c0101b6109e8478784ceb8897159fe2b # 修改数据库类型 pagehelper.helperDialect=mysql # 修改executor注册到xxl-job端口 xxl.job.executor.port=28094
启动执行器
- 独立版本升级
停止数据质量服务,替换后端程序目录server/quality
修改server/quality/config/QUALITY/config/user-config.xml配置中的数据源
修改application.properties配置
# 修改后端端口 server.port=28083 # 修改redis配置 spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.redis.password=
修改application-dqms.properties配置
# 修改检核结果数据读取路径,需要和executor/config/application.properties中检核结果数据存储路径指向位置一致 common.base_dir=../executor/ # 修改数据库方言,改为对应数据源名称,其中OpenGuass,postgresql,kingbase dialect 使用 postgresql # mysql、oracle、postgresql,sqlserver pagehelper.helperDialect=mysql # 修改调度器地址(与afcenter后端相同) xxl.job.admin.addresses=http://127.0.0.1:28083 xxl.job.admin.token=c0101b6109e8478784ceb8897159fe2b
(可选步骤)其他配置可以按需修改
清空redis缓存数据
启动数据质量服务
停止调度器和执行器
修改server/executor/config/application.properties
# 修改执行器端口号 server.port=28092 # mysql,oracle,dm,opengauss,PostgreSQL(KingbaseES,HighGo),sqlserver(改为对应数据源名称,kingbaseES使用postgresql) mybatis.configuration.database-id=mysql # 文件路径(默认executor执行器文件夹路径) common.base_dir=../executor/ # 文件路径(检核结果数据存储路径,需要和quality后端/config/application-dqms.properties中检核结果数据读取路径指向位置一致) common.damp_dir=../executor/ # 修改执行器数据库地址 spring.datasource.url=jdbc:mysql://127.0.0.1:3306/quality?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8 spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver # 修改afc地址 afc.server.url=http://127.0.0.1:28083 afc.server.token=c0101b6109e8478784ceb8897159fe2b # 修改数据库类型 pagehelper.helperDialect=mysql # 修改executor注册到xxl-job端口 xxl.job.executor.port=28094
启动执行器
更新数据质量前端资源
对于微应用版本,使用Primeton_QualityCube_7.2_GA_MicroApp.tar.gz解压后的Primeton_QualityCube_7.2_GA_UI目录进行替换。对于独立部署版本,使用web/afcenter目录进行替换原有文件。
更新nginx配置
对于微应用版本,nginx配置参考如下:
upstream afcenterapp {
server 127.0.0.1:28083;
}
upstream qualityapp {
server 127.0.0.1:28091;
}
server {
listen 80;
client_max_body_size 20M;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Permitted-Cross-Domain-Policies "master-only";
add_header X-Download-Options noopen;
add_header Content-Security-Policy "script-src * 'unsafe-inline' 'unsafe-eval'";
add_header Strict-Transport-Security "max-age=SECONDS";
add_header Referrer-Policy "no-referrer" always;
location ~/QUALITY/ {
rewrite ^/(.*)/api/(.*)$ /api/$2 break;
#proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
proxy_pass http://qualityapp;
}
location ^~/api/ {
#proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
proxy_pass http://afcenterapp ;
}
location ~/(.*)/api/ {
rewrite ^/(.*)/api/(.*)$ /api/$2 break;
#proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
proxy_pass http://afcenterapp ;
}
location / {
root /opt/idc/apps/afcenter;
index index.html index.htm;
try_files $uri /index.html;
}
# location /quality/ {
# alias "/opt/idc/apps/test/install/QualityCube_MySQL/web/quality" ;
# }
}
对于独立部署版本,nginx配置参考如下:
upstream qualityapp {
server 127.0.0.1:28083;
}
server {
listen 80;
client_max_body_size 20M;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1";
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Permitted-Cross-Domain-Policies "master-only";
add_header X-Download-Options noopen;
add_header Content-Security-Policy "script-src * 'unsafe-inline' 'unsafe-eval'";
add_header Strict-Transport-Security "max-age=SECONDS";
add_header Referrer-Policy "no-referrer" always;
location ^~/api/ {
proxy_pass http://qualityapp;
}
location ~/(.*)/api/ {
rewrite ^/(.*)/api/(.*)$ /api/$2 break;
proxy_pass http://qualityapp;
}
location ~ \.biz\.ext$ {
proxy_pass http://qualityapp;
}
location / {
root /opt/idc/apps/quality/web/afcenter;
index index.html index.htm;
try_files $uri /index.html;
}
}
# 重启nginx服务
nginx 重启命令参考
- 重启nginx(默认nginx配置文件)
nginx -s reload
- 重启nginx(指定nginx配置文件)
nginx -s reload -c /usr/nginx/nginx.conf
# 验证
验证后端服务
访问数据质量平台在线文档地址http://<ip>:<port>/swagger-ui.html
,确认后端服务是否正常。
验证前端服务
清除浏览器缓存后,访问AFCenter,登录后切换到数据质量,检查菜单、数据是否正常展示。
# 增加租户资源和权限
同步租户资源
前端服务验证完毕后,进入【组织权限中心】→【通用管理】→【数据导入】→【同步租户资源】菜单,点击【同步】,等待同步完成后刷新页面,【通用管理】菜单下出现【调度中心】菜单,在这里查看和管理调度器及执行器。
勾选afcenter权限
进入【组织权限中心】→【权限管理】→【角色管理】,点击【租户管理员】,勾选同步后需要新增的权限,如【任务调度】权限组下的页面和功能。