# 微应用安装

本文档以 MySQL 数据库为示例进行安装部署。

数据质量 7.1 GA 基于 AFCenter 8.2.5 版本运行,因此不兼容非此版本的 AFCenter 组件。如果安装环境中的 AFCenter 版本低于 8.2.5,需要先升级 AFCenter。

# 安装介质说明和准备

微应用方式安装的前提是已经安装AFCenter环境, 即已经部署了独立的AFCenter环境。

微应用安装介质需提前准备好”Primeton_QualityCube_7.1_GA_MicroApp.tar.gz“文件,解压后”Primeton_QualityCube_7.1_GA_Server.tar.gz“对应后端介质,“Primeton_QualityCube_7.1_GA_UI.tar.gz”对应前端介质。

微应用安装介质目录如下:

Primeton_QualityCube_7.1_GA_MicroApp
├── Primeton_QualityCube_7.1_GA_Server
├── Primeton_QualityCube_7.1_GA_Executor
├── Primeton_QualityCube_7.1_GA_Scheduler
└── Primeton_QualityCube_7.1_GA_UI

Primeton_QualityCube_7.1_GA_Server
├── bin
│	├── shutdown.cmd
│	├── shutdown.sh
│	├── startup.cmd
│	└── startup.sh
├── config
│	├── QUALITY
│	├── application.properties
│	├── application-afc.properties
│	├── application-dqms.properties
│	├── application-eureka.properties
│	├── application-nacos.properties
│	├── bootstrap.properties
│	└── logback-spring.xml
├── db-scripts
│	├── DaMeng
│	├── GaussDB
│	├── Mysql
│	├── upgrade
│	└── Oracle
├── lib
│	├── DmJdbcDriver18-8.1.1.193.jar
│	├── hive-jdbc-2.1.1.jar
│	└── opengauss-jdbc-3.0.0.jar
└── dqms-boot-7.1.1-exec.jar


Primeton_QualityCube_7.1_GA_UI
├── quality.conf
└── dist
	├── assets
	│	├── css
	│	├── fonts
	│	├── images
	│	└── js
	├── static
	│	├── image
	│	├── images
	│	├── js
	│	├── json
	│	├── lang
	│	├── monaco-editor
	│	├── png
	│	├── tinymce5.2.0
	│	├── flow-config.json
	│	└── logo.png
	├── index.html
	└── remoteEntry.js

Primeton_QualityCube_7.1_GA_Executor
├── bin
│	├── shutdown.cmd
│	├── shutdown.sh
│	├── startup.cmd
│	└── startup.sh
├── config
│	├── legal-validator-tpl
│	├── mapper
│	├── spark
│	├── templates
│	├── account.properties
│	├── application.propertie
│	├── banner.txt
│	├── core-site.xml
│	├── hdfs-site.xml
│	└── logback.xml
├── lib
│	└── mysql-connector-java-8.0.19.jar
├── spark
│	└── hiveseq_check
├── quality-executor-7.1.1-exec.jar
└── README.md

Primeton_QualityCube_7.1_GA_Scheduler
├── config
│	├── application.properties
│	└── logback.xml
├── lib
│	└── .gitkeep
├── README.md
├── startJob.bat
├── startJob.sh
├── stopJob.bat
├── stopJob.sh
└── xxl-job-admin-2.2.0-exec.jar

# 数据库初始化

如果执行的是mysql的脚本,在执行脚本之前,请将mysql设置为不区分表名大小写。

创建quality数据库。执行如下脚本:

CREATE DATABASE `quality` DEFAULT CHARACTER SET utf8mb4;

# 执行初始化脚本

微应用安介质安装时需要按顺序执行对应数据库的数据库初始化脚本。初始化脚本路径为Primeton_QualityCube_7.1_GA_MicroApp/db-scripts,其中包括了四种数据库dm、mysql、opengauss、oracle的脚本。

  1. 若quality(数据质量)所用的数据库与对应的AFCenter不是同一个库时,需先运行AFCenter介质中的 db-scripts/eos/所用库类型/all.sql。- 例如:AFCenter\db-scripts\eos\Mysql\all.sql

  2. 在已经安装的AFcenter的数据库afcenter_mysql里, 初始化数据质量的数据到库afcenter_mysql,

    执行如下脚本:

    db-scripts/Mysql/00-quality-afc-data.sql # 此脚本文件需放在afcenter的数据库运行
    
  3. quality数据库初始化,按顺序执行如下脚本:

    db-scripts/Mysql/10-quality-ddl.sql
    db-scripts/Mysql/11-quality-data.sql
    db-scripts/Mysql/12-quality-function.sql
    

# 修改配置文件

# 后端配置

微应用安介质安装时的配置文件,有需要修改的地方会在后面用“###-”提示说明。

质量后端配置:

config/application.properties配置文件

#-------------------------------------按需修改的部分-----------------------------------------
# 修改quality端口号
server.port=28091
# 修改redis的配置
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=密码

config/application-afc.properties配置文件

#---------------------------------------可按需修改-------------------------------------------------
# AFCenter的应用名称,如果修改了AFCenter的应用名称,这里需要同步修改
afc.application.name=AFCENTER

config/application-dqms.properties配置文件

#---------------------------------------可按需修改-------------------------------------------------
#使用的数据库类型
pagehelper.helperDialect=mysql
#检核结果文件存放路径(!!!需要和executor配置在同一目录下)
common.base_dir=/绝对路径/data
#执行器配置
xxl.job.admin.addresses=http://127.0.0.1:28093/job-admin/
xxl.job.admin.username=admin
xxl.job.admin.password=123456

config/application-eureka.properties配置文件

eureka.client.enabled=true
eureka.instance.prefer-ip-address=true
eureka.instance.lease-renewal-interval-in-seconds=10
eureka.instance.lease-expiration-duration-in-seconds=30
eureka.client.service-url.defaultZone=http://Admin:Admin9000@127.0.0.1:8761/eureka/  ###-eureka所在服务器ip

spring.cloud.nacos.discovery.enabled=false
spring.cloud.nacos.config.enabled=false

#apollo.meta=http://127.0.0.1:18081/
#apollo.bootstrap.enabled=true


config/application-nacos.properties配置文件

spring.cloud.nacos.discovery.enabled=true
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 ###-nacos所在服务器ip

eureka.client.enabled=false

其中:application-nacos.properties和application-eureka.properties配置文件,根据实际选择使用进行选择配置。

config/bootstrap.properties配置文件

此配置文件亦会影响Nacos,因此按需修改

# Alibaba nacos client settings
#spring.cloud.nacos.config.enabled=false
#spring.cloud.nacos.config.server-addr=127.0.0.1:8848

eureka.client.enabled=false
spring.cloud.nacos.discovery.enabled=false
spring.cloud.nacos.config.enabled=false

config/DQMS/config/user-config.xml配置文件

        <!-------------------------------------需要修改的内容---------------------------------------------->
<!-- 配置数据库驱动 -->
<configValue key="Database-Type">MySql</configValue>
<configValue key="C3p0-DriverClass">com.mysql.jdbc.Driver</configValue>
<!-- 配置quality_afc数据库连接信息 -->
<configValue key="C3p0-Url">jdbc:mysql://127.0.0.1:3306/quality?useUnicode=true&amp;characterEncoding=UTF-8&amp;useSSL=false&amp;serverTimezone=GMT%2b8</configValue>
<configValue key="C3p0-UserName">用户名</configValue>
<configValue key="C3p0-Password">密码</configValue>

调度器配置:

config/application.properties配置文件

#---------------------------------------可按需修改-------------------------------------------------
#调度器端口
server.port=28093 
server.servlet.context-path=/job-admin
#使用数据库类型
mybatis.configuration.database-id=mysql
###数据库
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/quality?serverTimezone=GMT%2B8&characterEncoding=utf8
spring.datasource.username=账号
spring.datasource.password=密码
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

执行器配置:

config/application.properties配置文件

#---------------------------------------可按需修改-------------------------------------------------
#执行器端口
server.port=28092
#使用的数据库类型
mybatis.configuration.database-id=mysql
#检核结果文件存放路径(!!!需要和quality后端配置在同一目录下)
common.base_dir=/绝对路径/data
common.damp_dir=/绝对路径/data
#告警邮件服务器配置
spring.mail.host=smtp.exmail.qq.com
spring.mail.protocol=smtp
spring.mail.username=lizw@primeton.com
spring.mail.password=i7cBHaDFzeWex539
#数据库配置
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/quality_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8
spring.datasource.username=账号
spring.datasource.password=密码
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
#使用的数据库类型
pagehelper.helperDialect=mysql
#xxl-job
xxl.job.admin.addresses=http://127.0.0.1:28093/job-admin/
xxl.job.admin.username=admin
xxl.job.admin.password=123456
xxl.job.executor.appname=cdh-executor
xxl.job.executor.ip=
#执行器注册至调度器中端口
xxl.job.executor.port=28094
#afcenter的ip地址
afc.server.url=http://127.0.0.1:28083
#token可以参考[系统变量]目录下最后的token管理部分[(6)mdm_server_token(MDM对应AFC提供的访问凭证)]
afc.server.token=8a7a1c279ea248189db39083b703d71a
#true means null-value-check will check blank values
datacheck.check-rules.null-value-check.include-blank-value=true

# 前端配置

将Primeton_QualityCube_7.1_GA_UI目录中的quality目录复制到afcenter到前端资源目录下。前端资源使用 AFCenter 默认的 Nginx 配置即可,无需修改。

66574114792

# 安装补丁并重启AFC服务

1.将补丁PLATFORM_8.2_AFCENTER_20230614_P2移动到对应的AFCenter后端lib目录下。查看补丁列表 (opens new window)

2.重启AFCenter后端

# 启动服务

调度器启动

Linux 系统

[root@localhost Primeton_QualityCube_7.1_GA_Scheduler]# ./startJob.sh

Windows 系统

D:\Desktop\Primeton_QualityCube_7.1_GA_Scheduler> startJob.bat

执行器启动

Linux 系统

[root@localhost Primeton_QualityCube_7.1_GA_Executor]# ./bin/startup.sh

Windows 系统

D:\Desktop\Primeton_QualityCube_7.1_GA_Executor\bin> startup.cmd

质量后端启动

Linux 系统

[root@localhost Primeton_QualityCube_7.1_GA_Server]# ./bin/startup.sh

Windows 系统

D:\Desktop\Primeton_QualityCube_7.1_GA_Server\bin> startup.cmd

前端ui 系统

[root@localhost Primeton_QualityCube_7.1_GA_MicroApp]# nginx -c /etc/nginx/nginx.config #需填写nginx配置文件的绝对路径

# 环境登录和验证

访问http://localhost,使用初始用户登录,初始用户名、密码为:admin、000000。

66574138357

1.点击组织权限中心/权限管理/角色管理/找到自己的用户信息点击“资源权限数量”下的数字,进入“角色详情”。

image-20221011200127038

2.在”角色详情“下的“权限”页面,选择应用列表为”数据质量“,勾选需要的权限,即可。

image-20221011200431165

3.在“账号管理”中,选择对应账号的”角色数量“下的数字,进行对账号角色的配置。

image-20221011200752601

4.在“账号管理”中,点击“添加角色”,即可把刚才创建的角色赋予这个账号。

image-20221011201016330

5.在”添加角色“中选择选中需要的角色,在右边的已选框中可查看到选择的角色。

image-20221011201110323

6.点击“确定”,可以看到选择的角色已添加成功。

image-20221011201310594

7.点击“确定”,保存成功,可看到,账号“角色数量”下的数字加一。

image-20221011201407938

8.刷新即可看到“数据质量”功能。

image-20221011202003258

9.检查调度器启动是否成功

访问http://127.0.0.1:28093/job-admin/,检查是否能够正常打开页面。

# 产品组件账号说明

微应用部署方式涉及的账号信息

组件/模块 账号 账号角色 是否有密码策略 密码更改位置 投产建议
AFCenter sysadmin 管理员 右上方“个人信息” --> 修改密码 按需更改密码策略
AFCenter admin 租户管理员 右上方“个人信息” --> 修改密码 按需更改密码策略
数据质量调度器 admin 管理员 右上方“个人信息” --> 修改密码 按需更改密码策略

配置文件中涉及账号的配置

数据源配置

涉及数据源账号、密码,对应配置文件:user-config.xml

<group name="default">
    ...
    <configValue key="Database-Type">MySql</configValue>
    <configValue key="Jdbc-Type"/>
    <configValue key="C3p0-DriverClass">com.mysql.cj.jdbc.Driver</configValue>
    <configValue key="C3p0-Url">jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&amp;characterEncoding=utf8&amp;autoReconnect=true</configValue>
    <configValue key="C3p0-UserName">root</configValue>
    <configValue key="C3p0-Password">root</configValue>
    ...
</group>

Redis配置:涉及Redis账号、密码,对应配置文件:application.properties

spring.redis.host=127.0.0.1
spring.redis.port=6379
#spring.redis.password=

Nacos配置:设计Nacos账号、密码,对应配置文件:application-nacos.properties

spring.cloud.nacos.discovery.enabled=true
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
#spring.cloud.nacos.discovery.username=nacos
#spring.cloud.nacos.discovery.password=nacos

eureka.client.enabled=false

⚠️注意:以上配置中 Redis、Nacos 账号、密码默认没有开启,强烈建议在生产环境中开启并修改默认密码。