# 微服务版安装
文档中基于MySQL数据库进行产品安装介绍。
主数据 7.3.0 基于 AFCenter 8.3.3 版本运行,因此不兼容非此版本的 AFCenter 组件。如果安装环境中的 AFCenter 版本低于 8.3.3,需要先升级 AFCenter。
# 安装介质说明和准备
微服务版安装介质前提是已经安装AFCenter环境, 即已经部署的EOS 8.3.3环境,需要更新最新的 eos 前端与后端的补丁集合。 主数据微服务版介质中包含了低开(Lowcode)组件,部分功能涉及数据质量、数据标准、数据开发组件的相关功能,所以还需部署数据质量7.3.0微服务版、数据资产7.5.0微服务版、数据开发7.1.0微服务版环境。 微服务版版安装介质若集成ipass需要加上PLATFORM_8.3.3_AFCENTER_20250822_P2补丁。 微服务版安装介质有两个:前端介质、后端介质 ,分别将前后端介质解压。
前端目录如下:
Primeton_MDM_7.3.0_UI
├── assets
├── static
├── index.html //首页
├── remoteEntry.js
├── remoteEntry.js.gz
└── version.properties
后端目录如下
Primeton_MDM_7.3.0_Server
├── bin //启动脚本
├── config
├── db-scripts //数据库脚本脚本
├── lib
├── similarity
├── mdm-boot-7.3.0-exec.jar //主数据程序
└── version.properties
# 检查授权证书
检查Primeton_MDM_7.3.0_Server/config/MDM/license目录下primetonlicense.xml文件是否在有效期内。如果超过有效期,请通过售后申请。
注意:查看primetonlicense.xml的有效期,可以查看expiration标签对应的时间。
# 数据库初始化
如果执行的是mysql的脚本,请在执行脚本之前将数据库设置不区分表名大小写。
# 创建数据库
创建mdm和mdm_pub两个数据库。执行如下脚本:
CREATE DATABASE `mdm` DEFAULT CHARACTER SET utf8mb4;
CREATE DATABASE `mdm_pub` DEFAULT CHARACTER SET utf8mb4;
# 执行初始化脚本
初始化脚本路径为Primeton_MDM_7.3.0_Server/db-scripts。
- 初始化主数据的资源权限数据到AFCenter数据库,AFCenter 8.3.3默认数据库为:afcenter4eos8。执行如下脚本:
single/mdm/mysql/00-mdm-afc-data.sql
或者直接执行全量脚本
all/Mysql/mdm-afc-all.sql
- 在mdm数据库中依次执行如下脚本:
single/bfp-config/Mysql/all.sql
single/bfp-framework/Mysql/all.sql
single/bfp-message/Mysql/all.sql
single/bfp-task/Mysql/all.sql
single/eos/Mysql/all.sql
single/lowcode/Mysql/all.sql
single/mdm/mysql/10-mdm-ddl.sql
single/mdm/mysql/11-mdm-data.sql
single/message/Mysql/all.sql
single/taskcenter/Mysql/all.sql
或者直接执行全量脚本
all/Mysql/mdm-all.sql
- 在mdm_pub数据库中执行如下脚本:
single/mdm/mysql/20-mdmpub-ddl.sql
或者直接执行全量脚本
all/Mysql/mdmpub-all.sql
- 在数据资产环境的数据库中执行如下脚本:
single/mdm/mysql/40-mdm-dws-data.sql
- 在dolphin的数据库中执行如下脚本:
single/mdm/mysql/41-mdm-dws-ds-data.sql
# 检查驱动
检查lib目录下包含使用的数据库对应的驱动, 默认支持的数据库驱动及版本如下:
数据库厂商 | 驱动名 | 版本 |
---|---|---|
mysql | mysql-connector-java | 8.0.17 |
oracle | ojdbc6 | 11.2.0.3 |
dameng | DmJdbcDriver18 | 8.1.1.193 |
openGauss | opengauss-jdbc | 3.0.0 |
sqlserver | sqljdbc4 | 4.0 |
# 后端修改配置文件
# 1.数据库配置文件:config/MDM/config/user-config.xml
修改default与MDM_PUB配置:驱动DriverClass、Url、UserName、Password,以MySQL为例配置如下:
<group name="default">
<configValue key="Database-Type">MySql</configValue># db类型
<configValue key="Jdbc-Type"/>
<configValue key="C3p0-DriverClass">com.mysql.cj.jdbc.Driver</configValue>#db驱动
<configValue key="C3p0-Url">jdbc:驱动类型://IP:端口Port/mdm?useSSL=false</configValue>#按数据库连接串配置需求来
<configValue key="C3p0-UserName">用户名</configValue>
<configValue key="C3p0-Password">密码</configValue>
<configValue key="C3p0-PoolSize">5</configValue>
<configValue key="C3p0-MaxPoolSize">30</configValue>
<configValue key="C3p0-MinPoolSize">5</configValue>
</group>
<group name="MDM_PUB">
<configValue key="Database-Type">MySql</configValue># db类型
<configValue key="Jdbc-Type"/>
<configValue key="C3p0-DriverClass">com.mysql.cj.jdbc.Driver</configValue>#db驱动
<configValue key="C3p0-Url">jdbc:驱动类型://IP:端口Port/库db/mdm_pub?useSSL=false</configValue>#按数据库连接串配置需求来
<configValue key="C3p0-UserName">用户名</configValue>
<configValue key="C3p0-Password">密码</configValue>
<configValue key="C3p0-PoolSize">5</configValue>
<configValue key="C3p0-MaxPoolSize">30</configValue>
<configValue key="C3p0-MinPoolSize">5</configValue>
</group>
其他数据的DriverClass、Url配置可以参考配置说明中的数据源配置示例。
# 2.配置文件:config/application.properties
# --------------------------------------配置案例---------------------------------------------------
# 如果要更改端口,则修改
server.port=xxx
# 根据数据库具体类型,将对应的配置打开,同时关闭其余类型配置
## Database Dialect (@see user-config.xml[DataSource:default])
# 例如如果数据库类型为mysql,则打开如下配置,同时关闭其余类型配置
## MySQL
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
# 例如如果数据库类型为oracle,则打开如下配置,同时关闭其余类型配置
## Oracle
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
# redis连接配置:换成以上获取到的redis的连接属性
spring.redis.host=ip地址
spring.redis.port=6379
spring.redis.password=primeton
注意:配置的Redis必须和AFCenter使用的是同一环境。
# 3.配置文件:config/application-afc.properties
# --------------------------------------配置案例---------------------------------------------------
# AFCenter的应用名称,默认配置AFCENTER,也可以直接配置地址例如:127.0.0.1:28003
afc.application.name=AFCENTER
# 4.nacos配置文件
修改bootstrap.properties和application-nacos.properties配置,将*.server-addr
配置修改为实际的IP地址和端口。如果和主数据平台为同一服务器,可以不用修改。
bootstrap.properties
# nacos-addr
# nacos-addr
spring.cloud.nacos.config.enabled=true
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.username=nacos
spring.cloud.nacos.password=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
# 5.配置文件:config/application-dqms.properties
## 根据使用的数据库类型填写对应的值
# OpenGuass,postgresql,kingbase dialect use postgresql
pagehelper.helperDialect=mysql
## 调度器地址,默认为afc地址
xxl.job.admin.addresses=http://127.0.0.1:28083
# 数据推送多节点配置(config/application-mdm.properties)
使用数字1/2/3/...
给各个mdm-server
节点编号;
e.g. 所有节点都启用情况下
# 节点编号(各个节点配置不同)
server.identity=1
# 启用推送节点列表(各个节点配置相同)
mdm.push.executor-servers=1,2,3
e.g. 部署5个节点(1, 2, 3, 4, 5) 最后两个禁用:
# 节点编号
server.identity=4
# 启用推送节点列表
mdm.push.enabled=false
或者使用下面配置方式:
# 节点编号(各个节点配置不同)
server.identity=5
# 启用推送节点列表(各个节点配置相同)
mdm.push.executor-servers=1,2,3
如果启用spring-cloud注册中心(nacos/euraka/etc.),则可以在注册中心配置文件中设置:
# e.g. `application-nacos.properties`
# required if deploy multi-nodes @see ${server.identity} | for easy startup: export JAVA_OPTS="${JAVA_OPTS} -Dmdm.server.identity=1"
spring.cloud.nacos.discovery.metadata.server-identity=${mdm.server.identity:0}
server.identity=${spring.cloud.nacos.discovery.metadata.server-identity:0} # 在这里配置或者在application-mdm.properties中配置,和注册中心元信息保持一致(系统自带默认配置项是写在application-mdm.properties中的,为了方便和推送节点一起配置,启用注册中心情况下直接修改application-nacos.properties中key的数字编号就行,否则在application-mdm.properties去掉引用写法直接设置数字编号)
# 前端配置
配置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后端地址
upstream afcenterapp {
server 127.0.0.1:28083;
}
# mdm后端地址
upstream mdmapp {
server 127.0.0.1:28090;
}
# 前端启动地址
server {
listen 80;
client_max_body_size 20M;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
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-when-downgrade" always;
add_header Access-Control-Allow-Origin 10.15.15.214;
add_header backendIP $upstream_addr;
location ~/MDM/ {
rewrite ^/(.*)/api/(.*)$ /api/$2 break;
#proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
proxy_pass http://mdmapp;
}
location ~/QUALITY/ {
rewrite ^/(.*)/api/(.*)$ /api/$2 break;
#proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
# 数据质量后端地址
proxy_pass http://127.0.0.1:28091;
}
location ~/DAMP/ {
rewrite ^/(.*)/api/(.*)$ /api/$2 break;
#proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
# 数据标准后端地址
proxy_pass http://127.0.0.1:28079;
}
location ~/DWS/ {
rewrite ^/(.*)/api/(.*)$ /api/$2 break;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
charset utf-8;
# 数据资产后端地址
proxy_pass http://127.0.0.1:28082;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_read_timeout 600s;
}
location ~/SDK-DEMO/ {
rewrite ^/(.*)/api/(.*)$ /api/$2 break;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
charset utf-8;
# 数据资产后端地址
proxy_pass http://127.0.0.1:28082;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_read_timeout 600s;
}
location ^~/api/ {
#proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
proxy_pass http://afcenterapp;
}
location ~/(.*)/api/ {
#proxy_set_header X-EOS-SourceSysKey 359e22bf398043cb866a92dc1cbbd3f6;
rewrite ^/(.*)/api/(.*)$ /api/$2 break;
proxy_pass http://afcenterapp;
}
location / {
# 前端资源地址
root /opt/mdm/v7.3/dev/afcenterui833-8080/web/afcenter;
index index.html index.htm;
try_files $uri /index.html;
}
}
# logicflow test, delete after test
#include conf.d/*.conf;
}
#---------------------------------------可按需修改------------------------------------------
# afc后端地址
upstream afcenterapp {
server 127.0.0.1:28083;
}
# 主数据后端地址
upstream mdmapp {
server 127.0.0.1:28090;
}
# 前端启动地址
listen 80;
# 数据质量后端地址
proxy_pass http://127.0.0.1:28091;
# 数据标准后端地址
proxy_pass http://127.0.0.1:28079;
# 数据资产后端地址
proxy_pass http://127.0.0.1:28082;
# 前端资源地址
root /opt/mdm/v7.3/dev/afcenterui833-8080/web/afcenter;
1.找到已经部署的服务目录web/afcenter
2.在前端资源web/afcenter目录下新建mdm目录,将介质Primeton_MDM_7.3.0_UI解压至此
3.重启nginx:nginx -s restart
# 启动服务
- linux:
1.执行脚本:server/mdm/bin/startup.sh,查看日志logs/eos-trace.log,检查启动过程是否有错误信息。
2.访问http://<ip>:<port>
,检查页面是否能够正常显示和登录。
- windows:
1.执行脚本:server/mdm/bin/startup.cmd,查看日志logs/eos-trace.log,检查启动过程是否有错误信息。
2.访问http://<ip>:<port>
,检查页面是否能够正常显示和登录。
# 环境登录和验证
使用用户admin登录主数据管理平台。
1.进入[组织中心]->[机构管理]菜单,在“全部员工”中选择“admin”。
2.在弹出窗口中,选择“角色设置”,点击“添加角色”按钮,为admin用户添加“主数据管理员”角色。
3.刷新页面,导航栏增加菜单【主数据】,点击即可进入主数据首页