微应用安装
文档中以MySQL数据安装为示例进行安装。
安装介质说明
微应用安装介质,在安装之前需要提前准备好EOS8环境。
安装的前后端介质需要在“/EOS8GA/821LA2_Release_20220831/private-medium”路径下对应的位置存放。
安装介质准备
微应用安装介质需提前准备好”Primeton_QualityCube_7.1_LA_MicroApp.tar.gz“文件,解压后”Primeton_QualityCube_7.1_LA_Server.tar.gz“对应后端介质,“Primeton_QualityCube_7.1_LA_UI.tar.gz”对应前端介质。
微应用安装介质目录如下:
Primeton_QualityCube_7.1_LA_MicroApp
├── Primeton_QualityCube_7.1_LA_Server
├── Primeton_QualityCube_7.1_LA_Executor
├── Primeton_QualityCube_7.1_LA_Scheduler
└── Primeton_QualityCube_7.1_LA_UI
Primeton_QualityCube_7.1_LA_Server
├── bin
│ ├── shutdown.cmd
│ ├── shutdown.sh
│ ├── startup.cmd
│ └── startup.sh
├── config
│ ├── DQMS
│ ├── application.properties
│ ├── application-afc.properties
│ ├── application-dqms.properties
│ ├── application-eureka.properties
│ ├── application-nacos.properties
│ └── logback-spring.xml
├── db-scripts
│ ├── dm
│ ├── mysql
│ ├── opengauss
│ └── oracle
├── lib
│ ├── DmJdbcDriver18-8.1.1.193.jar
│ ├── hive-jdbc-2.1.1.jar
│ ├── mysql-connector-java-5.1.49.jar
│ └── opengauss-jdbc-3.0.0.jar
└── dqms-eos-boot-7.1.0-exec.jar
Primeton_QualityCube_7.1_LA_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_LA_Executor
├── bin
│ ├── shutdown.cmd
│ ├── shutdown.sh
│ ├── startup.cmd
│ └── startup.sh
├── config
│ ├── legal-validator-tpl
│ ├── mapper
│ ├── spark
│ ├── templates
│ ├── account.properties
│ ├── application.yml
│ ├── banner.txt
│ ├── core-site.xml
│ ├── hdfs-site.xml
│ └── logback.xml
├── lib
│ └── mysql-connector-java-5.1.49.jar
├── spark
│ └── hiveseq_check
├── quality-executor-7.1.0-exec.jar
└── README.md
Primeton_QualityCube_7.1_LA_Scheduler
├── config
│ ├── application.properties
│ └── logback.xml
├── lib
│ └── deleteMe.txt
├── README.md
├── startJob.bat
├── startJob.sh
├── stopJob.bat
├── stopJob.sh
└── xxl-job-admin-2.2.0.jar
数据库初始化
创建qualit数据库。执行如下脚本:
CREATE DATABASE `quality` DEFAULT CHARACTER SET utf8mb4;
执行初始化脚本
微应用安介质安装时需要按顺序执行对应数据库的数据库初始化脚本。初始化脚本路径为
Primeton_QualityCube_7.1_LA_MicroApp/db-scripts,其中包括了四种数据库dm、mysql、opengauss、oracle的脚本。
quality数据库初始化,按顺序执行如下脚本:
db-scripts/mysql/00-quality-afc-data.sql # 此脚本文件需放在afcenter的数据库运行
db-scripts/mysql/10-quality-ddl.sql
db-scripts/mysql/11-quality-data.sql
db-scripts/mysql/12-quality-function.sql
修改配置文件
后端配置
微应用安介质安装时的配置文件,有需要修改的地方会在后面用“###-”提示说明。
质量后端配置:
server/config/application.properties配置文件
spring.application.name=QUALITY
spring.profiles.active=dqms,afc
# server.port=8080 ###—默认端口,根据实际情况修改端口号
# server.servlet.context-path=/
# server.app-server.max-connections=10000
# server.app-server.max-threads=1000
# server.app-server.min-spare-threads=100
spring.redis.host=10.15.15.136 ###—redis所在服务器ip
spring.redis.port=6379 ###—redis端口
spring.redis.password=primeton ###—redis密码(根据实际情况)
#spring.redis.lettuce.pool.max-active=100
#spring.redis.lettuce.pool.max-idle=10
#spring.redis.lettuce.pool.max-wait=5000
spring.cloud.nacos.discovery.enabled=true
spring.cloud.nacos.discovery.server-addr=10.15.15.130:8848 ###-nacos所在服务器ip
spring.cloud.nacos.config.enabled=true
eureka.client.enabled=false
apollo.bootstrap.enabled=false
server/config/application-afc.properties配置文件
# afc server endpoint if `nacos / eureka` disabled
afc.application.name=10.15.15.136:28085 ###-afc所在服务器ip
# if `nacos / eureka` enabled
# afc.application.name=AFCENTER
afc.application.tenant=sys_tenant
afc.application.app-code=AFC
afc.application.app-secret=secret
server/config/application-dqms.properties配置文件
common.base_dir=${app.home:.} ###-根据需求配置检核数据存放路径
xxl.job.admin.addresses=http://10.15.15.136:28282/job-admin/ ###-调度器所在服务器ip
xxl.job.admin.username=admin ###-调度器账号
xxl.job.admin.password=123456 ###-调度器密码
###-配置数据源同步信息
datashard.type=local
datashard.base_path=${common.base_dir}/upload
datashard.delSrc=true
datashard.fileSuffix=.bcp
datashard.ftp.host=192.168.30.142 ###-配置公共资源中数据源同步所在服务器ip
datashard.ftp.port=2121
datashard.ftp.userName=admin
datashard.ftp.password=primeton000000
datashard.sftp.host=192.168.30.143
datashard.sftp.port=22
datashard.sftp.userName=root
datashard.sftp.password=primeton
server/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
server/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配置文件,根据实际选择使用进行选择配置。
server/config/DQMS/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>
调度器配置:
scheduler/config/application.properties配置文件
### web
server.port=28282 ###-配置调度器端口
server.servlet.context-path=/job-admin
### xxl-job, datasource
###-数据源配置
spring.datasource.url=jdbc:mysql://10.16.16.210:3306/dqms_fran?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
执行器配置:
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:
port: 9944 ###执行器注册在调度器的地址
logpath: ${common.base_dir}/logs
logretentiondays: -1
accessToken:
前端配置
将 Primeton_QualityCube_7.1_LA_UI.tar.gz中quality.conf 中的内容复制粘贴到机器的nginx.config 文件中
quality.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/; ###-根据实际情况修改afc所在服务器ip
}
location /afc/dqms {
proxy_pass http://10.15.15.139:29898/; ###-根据实际情况修改quality所在服务器ip
}
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_Scheduler]# ./startJob.sh
Windows 系统
D:\Desktop\Primeton_QualityCube_7.1_LA_Scheduler> startJob.bat
执行器启动
Linux 系统
[root@localhost Primeton_QualityCube_7.1_LA_Executor]# ./bin/startup.sh
Windows 系统
D:\Desktop\Primeton_QualityCube_7.1_LA_Executor\bin> startup.cmd
质量后端启动
Linux 系统
[root@localhost Primeton_QualityCube_7.1_LA_Server]# ./bin/startup.sh
Windows 系统
D:\Desktop\Primeton_QualityCube_7.1_LA_Server\bin> startup.cmd
前端ui 系统
[root@localhost Primeton_QualityCube_7.1_LA_MicroApp]# nginx -s ./nginx.config
环境登录和验证
访问http://localhost:8080
,使用初始用户登录,初始用户名、密码为:admin、000000。
1.点击组织权限中心/权限管理/角色管理/找到自己的用户信息点击“资源权限数量”下的数字,进入“角色详情”。
2.在”角色详情“下的“权限”页面,选择应用列表为”数据质量“,勾选需要的权限,即可。
3.在“账号管理”中,选择对应账号的”角色数量“下的数字,进行对账号角色的配置。
4.在“账号管理”中,点击“添加角色”,即可把刚才创建的角色赋予这个账号。
5.在”添加角色“中选择选中需要的角色,在右边的已选框中可查看到选择的角色。
6.点击“确定”,可以看到选择的角色已添加成功。
7.点击“确定”,保存成功,可看到,账号“角色数量”下的数字加一。
8.刷新即可看到“数据质量”功能。