# 独立安装
文档中以MySQL数据安装为示例进行安装。
# 安装介质说明和准备
独立安装介质内置了AFcenter,无需再安装AFCenter环境。
独立安装介质目录如下:
Primeton_QualityCube_7.1_LA2_Standalone
├── standalone
│ ├── clearLog.cmd
│ ├── clearLog.sh
│ ├── readme.txt
│ ├── shutdown.cmd
│ ├── shutdown.sh
│ ├── startup.cmd
│ └── startup.sh
├── server
│ ├── executor
│ │ ├── bin
│ │ ├── config
│ │ ├── lib
│ │ ├── spark
│ │ ├── quality-executor-7.1.0-exec.jar
│ │ └── README.md
│ ├── quality
│ │ ├── bin
│ │ ├── config
│ │ ├── db-script
│ │ ├── lib
│ │ └── afc-embed-boot-7.1.0-exec.jar //数据质量主程序
│ ├── scheduler
│ │ ├── startJob.bat
│ │ ├── startJob.sh
│ │ ├── stopJob.bat
│ │ ├── stopJob.sh
│ │ ├── config
│ │ ├── lib
│ │ ├── README.md
│ │ └── xxl-job-admin-2.2.0-exec.jar
│ └── primetonlicense.xml
└── web
├── afcenter
│ ├── assets
│ ├── bfp
│ ├── components
│ ├── components-ext
│ ├── config
│ ├── formDesigner
│ ├── ide
│ ├── index.html
│ ├── quality // 数据质量前端资源
│ ├── remoteEntry.js
│ ├── remoteEntry.js.gz
│ ├── static
│ └── version.properties
└── conf
└── quality.conf
# 数据库初始化
# 创建数据库
如果执行的是mysql的脚本,在执行脚本之前,请将mysql设置为不区分表名大小写。
创建"quality"数据库。执行如下脚本:
CREATE DATABASE `quality` DEFAULT CHARACTER SET utf8mb4;
# 执行初始化脚本
独立介质安装时需要按顺序执行EOS、AFCenter、Quality的数据库初始化脚本。初始化脚本路径为
Primeton_QualityCube_7.1_LA2_Standalone/server/quality/db-scripts,其中包括了EOS、AFCenter、QUALITY的脚本。
quality数据库初始化,按顺序执行如下脚本:
eos/Mysql/00-eos-table.sql
eos/Mysql/01-eos-data.sql
eos/Mysql/02-quartz.sql
afcenter/Mysql/00-afc-table.sql
afcenter/Mysql/01-afc-data.sql
dqms/mysql/00-quality-afc-data.sql
dqms/mysql/01-afc-template-data.sql
dqms/mysql/10-quality-ddl.sql
dqms/mysql/11-quality-data.sql
dqms/mysql/12-quality-function.sql
或者执行全量脚本:
all/mysql/all.sql
# 修改配置文件
# 后端配置
按需修改
质量后端配置: server / quality / config / application.properties
#-------------------------------------按需修改的部分-----------------------------------------
# 修改quality端口号
server.port=28091
# 修改redis的配置
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=密码
# 缓存机制 [ map -> 本地缓存 ] [ redis -> redis 缓存 ]
eos.cache.mode=map
质量后端配置: server / quality / config / application-afc.properties
#---------------------------------------可按需修改-------------------------------------------------
# 需要和数据质量后端IP及端口一致
afc.application.name=127.0.0.1:28091
质量后端配置: server / quality / 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
质量后端配置: server / quality / config / application-eureka.properties配置文件
eureka.client.enabled=false
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
质量后端配置: server / quality / config / application-nacos.properties配置文件
spring.cloud.nacos.discovery.enabled=false
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 ###-nacos所在服务器ip
eureka.client.enabled=false
其中:application-nacos.properties和application-eureka.properties配置文件,根据实际选择使用进行选择配置。
质量后端配置: server / quality / 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
质量后端配置: server / quality / config / QUALITY / 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&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8</configValue>
<configValue key="C3p0-UserName">用户名</configValue>
<configValue key="C3p0-Password">密码</configValue>
调度器配置: server / scheduler / 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
执行器配置: server / executor / config / application.properties
#---------------------------------------可按需修改-------------------------------------------------
#执行器端口
server.port=28092
#使用的数据库类型
mybatis.configuration.database-id=mysql
<<<<<<< HEAD
#common中base文件路径(!!!需要和quality后端配置在同一个地方)
common.base_dir=${app.home:.}
common.damp_dir=/base文件路径
=======
#检核结果文件存放路径(!!!需要和quality后端配置在同一个地方)
common.base_dir=/绝对路径/data
common.damp_dir=/绝对路径/data
>>>>>>> 64b7b330c7c468c9edfd45a969450b91fe6d4db2
#告警邮件服务器配置
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?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管理部分
afc.server.token=8a7a1c279ea248189db39083b703d71a
#true means null-value-check will check blank values
datacheck.check-rules.null-value-check.include-blank-value=true
# 前端配置
在nginx.conf 文件中加入如下配置
worker_processes 1;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#监听afc后端端口,若以独立模式启动,该端口号与quality端口号相同
#监听quality后端端口
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://qualityapp ;
}
location ~/(.*)/api/ {
rewrite ^/(.*)/api/(.*)$ /api/$2 break;
#proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
proxy_pass http://qualityapp ;
}
#location ~ \.biz\.ext$ {
# proxy_pass http://afcenterapp;
#
}
location / {
root /介质解压到的目录;
index index.html index.htm;
#try_files $uri /index.html;
}
# 启动服务
启动后端服务时根据需求可选择质量后端、调度器、执行器单独启动,也可选择一键启动。
单独启动:
调度器启动
Linux 系统
[root@localhost Primeton_QualityCube_7.1_LA2_Standalone]# ./server/scheduler/startJob.sh
Windows 系统
D:\Desktop\Primeton_QualityCube_7.1_LA2_Standalone\server\scheduler> startJob.bat
执行器启动
Linux 系统
[root@localhost Primeton_QualityCube_7.1_LA2_Standalone]# ./server/executor/bin/startup.sh
Windows 系统
D:\Desktop\Primeton_QualityCube_7.1_LA2_Standalone\server\executor\bin> startup.cmd
质量后端启动
Linux 系统
[root@localhost Primeton_QualityCube_7.1_LA2_Standalone]# ./server/quality/bin/startup.sh
Windows 系统
D:\Desktop\Primeton_QualityCube_7.1_LA2_Standalone\server\quality\bin> startup.cmd
一键启动:
质量后端启动
Linux 系统
[root@localhost Primeton_QualityCube_7.1_LA2_Standalone]# ./startup.sh
Windows 系统
D:\Desktop\Primeton_QualityCube_7.1_LA2_Standalone> startup.cmd
前端ui 系统
[root@localhost Primeton_QualityCube_7.1_LA2_Standalone]# nginx -c ./nginx.config
# 环境登录和验证
访问http://localhost:port
,使用初始用户登录,初始用户名、密码为:admin、000000。
1.点击组织权限中心/权限管理/角色管理/找到自己的用户信息点击“资源权限数量”下的数字,进入“角色详情”。
2.在”角色详情“下的“权限”页面,选择应用列表为”数据质量“,勾选需要的权限,即可。
3.在“账号管理”中,选择对应账号的”角色数量“下的数字,进行对账号角色的配置。
4.在“账号管理”中,点击“添加角色”,即可把刚才创建的角色赋予这个账号。
5.在”添加角色“中选择选中需要的角色,在右边的已选框中可查看到选择的角色。
6.点击“确定”,可以看到选择的角色已添加成功。
7.点击“确定”,保存成功,可看到,账号“角色数量”下的数字加一。
8.刷新即可看到“数据质量”功能。
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&characterEncoding=utf8&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=test
# 补充
高斯数据库的upgrade存在语法错误,需要更新。
对应错误脚本:
ALTER TABLE AFC_SYSTEM_VARIABLE MODIFY COLUMN VALUE VARCHAR(1024);
需要将以上脚本修改为如下内容再进行执行:
alter table afc_system_variable alter column value type varchar(1024) using value::varchar(1024);
comment on column afc_system_variable.value is '扩展系统变量值';