独立安装
文档中以MySQL数据安装为示例进行安装。
安装介质说明和准备
独立安装介质内置了AFcenter,无需再安装AFCenter环境。
独立安装介质目录如下:
Primeton_QualityCube_7.1_LA_Standalone
├── clearLog.cmd
├── clearLog.sh
├── readme.txt
├── server
│ ├── executor
│ │ ├── bin
│ │ ├── config
│ │ ├── lib
│ │ ├── spark
│ │ ├── quality-executor-7.1.0-exec.jar
│ │ └── README.md
│ ├── quality
│ │ ├── bin
│ │ ├── config
│ │ ├── db-script
│ │ ├── lib
│ │ └── dqms-afc-boot-7.1.0-exec.jar //数据质量主程序
│ ├── scheduler
│ │ ├── bin
│ │ ├── config
│ │ ├── lib
│ │ ├── README.md
│ │ └── quality-executor-7.1.0-exec.jar
│ └── primetonlicense.xml
├── shutdown.cmd
├── shutdown.sh
├── startup.cmd
├── startup.sh
└── web
├── afcenter
│ ├── assets
│ ├── bfp
│ ├── components
│ ├── config
│ ├── formDesigner
│ ├── ide
│ ├── index.html
│ ├── quality // 数据质量前端资源
│ ├── process
│ ├── remoteEntry.js
│ ├── remoteEntry.js.gz
│ ├── static
│ └── version.properties
└── conf
└── quality.conf
数据库初始化
创建数据库
创建"quality"数据库。执行如下脚本:
CREATE DATABASE `quality` DEFAULT CHARACTER SET utf8mb4;
执行初始化脚本
独立介质安装时需要按顺序执行EOS、AFCenter、Quality的数据库初始化脚本。初始化脚本路径为
Primeton_QualityCube_7.1_LA_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
afccenter/upgrade/Mysql/all.sql
quality/mysql/00-quality-afc-data.sql
quality/mysql/10-quality-ddl.sql
quality/mysql/11-quality-data.sql
quality/mysql/12-quality-func.sql
修改配置文件
后端配置
按需修改
执行器配置: server / executor / config / application.yml
##需要修改的部分
#端口
server:
port: 18184 # 按需修改执行器端口
#通用数据库连接配置
common:
jdbc:
driverClass: com.mysql.jdbc.Driver #按数据库修改驱动
username: "root" #数据库账户
password: "root" #数据库密码
# 日志级别
logging:
level.com.primeton.damp: INFO
level.com.primeton.dqms: INFO # 按需修改日志级别
#修改数据库对应Mybatis方言
mapper:
mappers: com.primeton.damp.core.mapperBase.MyMapper
not-empty: false
# identity: MYSQL
identity: MYSQL
#按需修改数据库连接
spring:
datasource:
damp:
url: jdbc:mysql://10.16.16.210:3306/dqms_fran?useUnicode=true&characterEncoding=UTF-8&useSSL=false #数据库连接
username: ${common.jdbc.username}
password: ${common.jdbc.password}
driver-class-name: ${common.jdbc.driverClass}
alias: dqms
#初始化链接数
initial-size: 10
#最小连接数
min-idle: 10
#最大连接数
max-active: 20
dqms:
url: jdbc:mysql://10.16.16.210:3306/dqms_fran?useUnicode=true&characterEncoding=utf-8&useSSL=false
username: ${common.jdbc.username}
password: ${common.jdbc.password}
driver-class-name: ${common.jdbc.driverClass}
alias: dqms
#初始化链接数
initial-size: 10
#最小连接数
min-idle: 10
#最大连接数
max-active: 20
druid:
#获取连接时最大等待时间
max-wait: 5000
#失败重试间隔时长
time-between-connect-error-millis: 10000
#配置pagehelper方言
pagehelper:
page-size-zero: true
helperDialect: mysql
reasonable: true
supportMethodsArguments: true
# 对应配置调度器
xxl:
job:
admin:
addresses: http://localhost:28282/job-admin/
username: admin
password: 123456 ##此处密码一般不做修改
executor:
appname: cdh-executor
ip: #根据此应用的IP地址
port: 9944
logpath: ${common.base_dir}/logs
logretentiondays: -1
accessToken:
质量后端配置: server / quality / config / application.properties
#服务名
spring.application.name=DQMS
#服务端口号(此项不配置默认为8080)
server.port=8080
#redis配置(是否有密码根据实际情况)
spring.redis.host=10.15.15.136
spring.redis.port=6379
spring.redis.password=primeton
#nacos配置
spring.cloud.nacos.discovery.enabled=true
spring.cloud.nacos.discovery.server-addr=10.15.15.130:8848
spring.cloud.nacos.config.enabled=true
eureka.client.enabled=false
apollo.bootstrap.enabled=false
质量后端配置: server / quality / config / application-afc.properties
# 暂无修改
质量后端配置: server / quality / config / application-dqms.properties
#mapper配置 按数据库
mybatis.mapper-dir=mysql
mapper.identity=MYSQL
#pagehelper配置
pagehelper.helperDialect=mysql
#对应调度器配置
xxl.job.admin.addresses=http://10.15.15.136:28282/job-admin/
xxl.job.admin.username=admin
xxl.job.admin.password=123456
质量后端配置: server / quality / config / QUALITY / config / user-config.xml
<!--配置数据库连接-->
<group name="default">
<configValue key="Database-Type">MySql</configValue>
<configValue key="Jdbc-Type"/>
<configValue key="C3p0-DriverClass">com.mysql.jdbc.Driver</configValue>
<configValue key="C3p0-Url">jdbc:mysql://10.16.16.210:3306/dqms_fran?useSSL=false</configValue>
<configValue key="C3p0-UserName">root</configValue>
<configValue key="C3p0-Password">root</configValue>
<configValue key="C3p0-PoolSize">5</configValue>
<configValue key="C3p0-MaxPoolSize">30</configValue>
<configValue key="C3p0-MinPoolSize">5</configValue>
<!-- //seconds, 0 means connections never expire -->
<configValue key="C3p0-MaxIdleTime">0</configValue>
<!-- //idle connections never tested -->
<configValue key="C3p0-IdleConnectionTestPeriod">0</configValue>
<configValue key="C3p0-MaxStatements">0</configValue>
<configValue key="C3p0-NumHelperThreads">3</configValue>
<configValue key="Transaction-Isolation">ISOLATION_DEFAULT</configValue>
<configValue key="Test-Connect-Sql">SELECT count(*) from EOS_UNIQUE_TABLE</configValue>
<configValue key="Retry-Connect-Count">-1</configValue>
</group>
调度器配置: server / executor / config / application.propertis
#配置端口
server.port=28282
#数据库连接
spring.datasource.url=jdbc:mysql://10.16.16.210:3306/dqms?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
前端配置
在nginx.conf 文件中加入如下配置
server {
listen 80;
client_max_body_size 20M; #限制请求体的大小,默认是1M
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1";
add_header Content-Security-Policy "script-src * 'unsafe-inline' 'unsafe-eval'";
add_header X-Frame-Options "SAMEORIGIN";
add_header Strict-Transport-Security "max-age=SECONDS";
add_header Referrer-Policy "no-referrer" always;
add_header X-Permitted-Cross-Domain-Policies "master-only";
add_header X-Download-Options noopen;
location /afc {
proxy_pass http://10.15.15.139:29890/; # 根据实际情况修改
}
location /afc/dqms {
proxy_pass http://10.15.15.139:29898/; # 根据实际情况修改
}
location / {
root /opt/idc/apps/afcenter; # 微前端方式部署,根据实际情况修改
index index.html index.htm;
}
}
例如:
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 8090;
client_max_body_size 20M; #限制请求体的大小,默认是1M
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1";
add_header Content-Security-Policy "script-src * 'unsafe-inline' 'unsafe-eval'";
add_header X-Frame-Options "SAMEORIGIN";
add_header Strict-Transport-Security "max-age=SECONDS";
add_header Referrer-Policy "no-referrer" always;
add_header X-Permitted-Cross-Domain-Policies "master-only";
add_header X-Download-Options noopen;
location /afc/dqms {
proxy_pass http://localhost:13076/; # 根据实际情况修改
}
location /afc {
proxy_pass http://localhost:28085/; # 根据实际情况修改
}
location / {
root D:/Desktop/WORK/test_quality/EOS_AFCenter821_1001/EOS_Platform_8.2LA2_AFCenter_UI; # 微前端方式部署,根据实际情况修改
index index.html index.htm;
}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
启动服务
启动后端服务时根据需求可选择质量后端、调度器、执行器单独启动,也可选择一键启动。
单独启动:
调度器启动
Linux 系统
[root@localhost Primeton_QualityCube_7.1_LA_Standalone]# ./server/scheduler/startJob.sh
Windows 系统
D:\Desktop\Primeton_QualityCube_7.1_LA_Standalone\server\scheduler> startJob.sh
执行器启动
Linux 系统
[root@localhost Primeton_QualityCube_7.1_LA_Standalone]# ./server/executor/bin/startup.sh
Windows 系统
D:\Desktop\Primeton_QualityCube_7.1_LA_Standalone\server\executor\bin> startup.cmd
质量后端启动
Linux 系统
[root@localhost Primeton_QualityCube_7.1_LA_Standalone]# ./server/quality/bin/startup.sh
Windows 系统
D:\Desktop\Primeton_QualityCube_7.1_LA_Standalone\server\quality\bin> startup.cmd
一键启动:
质量后端启动
Linux 系统
[root@localhost Primeton_QualityCube_7.1_LA_Standalone]# ./startup.sh
Windows 系统
D:\Desktop\Primeton_QualityCube_7.1_LA_Standalone> startup.cmd
前端ui 系统
[root@localhost Primeton_QualityCube_7.1_LA_Standalone]# nginx -s ./nginx.config
环境登录和验证
访问http://localhost:port
,使用初始用户登录,初始用户名、密码为:admin、000000。
1.点击组织权限中心/权限管理/角色管理/找到自己的用户信息点击“资源权限数量”下的数字,进入“角色详情”。
2.在”角色详情“下的“权限”页面,选择应用列表为”数据质量“,勾选需要的权限,即可。
3.在“账号管理”中,选择对应账号的”角色数量“下的数字,进行对账号角色的配置。
4.在“账号管理”中,点击“添加角色”,即可把刚才创建的角色赋予这个账号。
5.在”添加角色“中选择选中需要的角色,在右边的已选框中可查看到选择的角色。
6.点击“确定”,可以看到选择的角色已添加成功。
7.点击“确定”,保存成功,可看到,账号“角色数量”下的数字加一。
8.刷新即可看到“数据质量”功能。
补充
高斯数据库的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 '扩展系统变量值';