产品安装指南

安装准备

机器资源

所有环境需要安装 CentOS Linux release 7.4/windows10 操作系统。(请使用最小安装方式安装,避免存在已有安装包与平台安装包冲突的情况)

安装建议机器配置

机器 最低配置 建议配置 安装软件
机器 1 4c8g100g 8c16g200g JDK1.8.0_162、Nginx1.20.1、Redis6.2.6、、数据资产管理平台、元数据
机器 2 4c8g200g 8c16g400g MySQL 5.7

安装包准备

普元数据资产管理平台提供两个版本的介质,分别是微应用版和独立版。其中微应用版需要结合 EOS8.2.2 微服务平台使用,而独立版本可直接安装运行。

微应用版:Primeton_DAMP_7.1_GA_MicroApp.tar.gz
独立版:Primeton_DAMP_7.1_GA_Standalone.tar.gz

JDK 环境准备

普元数据资产管理平台支持的 JDK 为 OracleJDK 1.8、OpenJDK 1.8,部署之前需要预先安装 JDK 并配置环境变量。

数据库环境准备

普元数据资产管理平台支持的数据库厂商有:MySQL 5.7,部署之前需要将对应的数据库环境安装完成。

Nginx 环境准备

普元数据资产管理平台使用的 Nginx 版本为 1.20.1,需要预先安装 Nginx 环境。

Redis 环境准备

普元数据资产管理平台使用的 Redis 版本为 6.2.6,需要在部署前安装完成。

ElasticSearch 环境准备

普元数据资产管理平台使用的 ElasticSearch 版本为 6.4.3,需要在部署前安装完成。

ElasticSearch 需要初始化一下索引库,两种方式,选择其中一种即可: 自动初始化: csh01.png

手动初始化:

1.资产索引库
PUT http://127.0.0.1:9200/das
{
  "mappings": {
      "_doc":{
      "properties": {
        "applyCount": {
          "type": "keyword"
        },
        "longTime": {
          "type": "date"
        },
        "groups.groupLevel":{"type":"text","analyzer":"whitespace"}
      }
      }
  }
}
2.标准索引库
PUT http://127.0.0.1:9200/standard_index
PUT http://127.0.0.1:9200/standard_dict
PUT http://127.0.0.1:9200/standard_term
PUT http://127.0.0.1:9200/standard_dataelement

3.知识库索引库
PUT http://127.0.0.1/knowledge

filebeat 环境准备

普元数据资产管理平台使用的 filebeat 版本为 6.4.3,需要用户自行准备安装。filebeat需要和dataengine安装在同一台服务器上。

#启动filebeat
[root@autotest-01 filebeat-7.0.0-linux-x86_64]# ./filebeat -c data-engine-filebeat.yml &
  • filebeat:data-engine-filebeat.yml
    filebeat.inputs:
    - type: log
      paths: ["/opt/dataEngine/logs/api.log*"]
      encoding: UTF-8
      fields:
        log-type: api-log
      tags: ["api-log"]
      exclude_files: [".gz$"]
      json.keys_under_root: true
      json.add_error_key: true
      json.overwrite_keys: true
    output:
    logstash:
      hosts: ["127.0.0.1:5044"]
    

logstash 环境准备

普元数据资产管理平台使用的 logstash 版本为 6.4.3,需要在部署前安装完成。

#启动logstash
[root@autotest-01 logstash-6.4.3]# ./bin/logstash -f config/data-engine.conf 2>&1 &
  • logstash:data-engine.conf
input {
    beats {
        port => 5044
    }
}

filter {
    date {
        match => [ "time", "UNIX_MS" ]
        locale => "cn"
        timezone => "Asia/Shanghai"
        target => "covert-time"
    }

    # calculate time UTC + 8h -> Asia/Shanghai
    ruby {
        code => "event.set('covert-time', event.get('covert-time').time.localtime + 8*60*60)"
    }

    mutate {
        convert => ["covert-time", "string"]
    }

    # -----
    # replace logstash @timestamp with log timestamp, and output.elasticsearch create index use this time
    # -----
    date {
        match => [ "covert-time", "YYYY-MM-dd'T'HH:mm:ss.SSSZ", "ISO8601" ]
        locale => "cn"
        timezone => "Asia/Shanghai"
    }
}

output {
    elasticsearch {
        hosts => ["127.0.0.1:9200"]
        index =>  "%{[fields][log-type]}-%{+YYYY.MM.dd}"
        document_type => "log"
    }
}

元数据环境准备

普元数据资产管理平台依赖普元元数据(7.5GA)平台,需要在部署前安装完成。

微应用版本安装

文档中以 MySQL 数据安装为示例进行安装。

安装介质说明

**微应用安装介质,在安装之前需要提前准备好EOS8环境。**

安装介质准备

微应用安装介质,在安装之前需要提前准备好 EOS8 环境。 安装的前后端介质需要在“/EOS8GA/82LA3/private-medium”路径下对应的位置存放。

微应用安装介质需提前准备好”Primeton_DAMP_7.1_GA_MicroApp.tar.gz 进行解压。其中”Primeton_DAMP_7.1_GA_Server.tar.gz“对应资产后端介质,”Primeton_DAMP_7.1_GA_DataEngine.tar.gz“对应服务引擎后端介质,“Primeton_DAMP_7.1_GA_UI.tar.gz”对应前端介质。

微应用安装介质目录

后端部署: 解压“Primeton_DAMP_7.1_GA_Server.tar.gz”,“Primeton_DAMP_7.1_GA_DataEngine.tar.gz”,将 mysql 驱动放到 lib 目录下。

前端部署: 解压“Primeton_DAMP_7.1_GA_UI.tar.gz”,将所有文件拷贝到 afcenter 前端同级目录下即可。

数据库初始化

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

CREATE DATABASE `dam` DEFAULT CHARACTER SET utf8mb4;

执行初始化脚本

微应用安介质安装时需要按顺序执行对应数据库的数据库初始化脚本。初始化脚本路径为 Primeton_DAMP_7.1_GA_Server/db-scripts/Mysql。

数据库初始化,按顺序执行如下脚本:

db-scripts/mysql/00-dam-table.sql #此脚本文件需放在dam的数据库运行,
db-scripts/mysql/01-dam-view.sql #此脚本文件需放在dam的数据库运行,此脚本文件需要修改metacube、afcenter、bps相关库
db-scripts/mysql/02-dam-dataservice-table.sql #此脚本文件需放在dam的数据库运行
db-scripts/mysql/03-dam-afc-dict.sql # 此脚本文件需放在afcenter的数据库运行,若已初始化数据字典,可忽略
db-scripts/mysql/04-dam-afc-dict.sql  #此脚本文件需放在afcenter的数据库中运行,资产afc相关数据字典
db-scripts/mysql/05-dam-update.sql #此脚本文件需放在dam的数据库运行,资产更新语句
db-scripts/mysql/06-dam-bps.sql #此脚本文件需放在bps的数据库运行,资产流程初始化脚本

governor 配置

governor 配置的前提是 eos8.2 基础是环境已经安装部署完成,服务正常启动。并且由于服务引擎区分测试、生产环境,因此需要额外配置一个测试系统,并在测试系统下增加测试 Gateway。 另外数据库脚本中准备了初始化脚本,用户可以直接脚本直接完成 governor 初始化配置,无需手动配置。

登录 governor

使用 sysadmin/000000 登陆登陆 governor

配置平台服务(以 Naocs 为例)

进入管理平台页面 01.png 点击平台服务菜单,配置注册中心与配置中心信息 02.png

创建用户,域和系统

点击人员管理菜单,新增人员 03.png 点击域管理菜单,新增域 04.png 点击系统管理菜单,新增系统 05.png

注销账号,使用系统对应管理员登录系统,配置 gateway

点击网关菜单,配置网关 网关应用的应用名称需要以 GATEWAY 开头,并将 eos.gateway.sys-code 和 eos.gateway.sys-key 修改为当前系统的信息 06.png

添加网关白名单

需将一下路径添加到网关白名单中

/api/**

09.png

添加路由

点击添加路由按钮添加一下两个路由 10.png

路由编码(可自定义):dam-component

uri: lb://DAM-PORTAL/
predicates:
- Path=/com.primeton.common.component**

路由编码(可自定义):dam-router

uri: lb://DAM-PORTAL/
predicates:
- Path=/DAM-PORTAL/**
filters:
- StripPrefix=1

配置完成后,将路由状态改为启用。 11.png

可以通过 actuator 监控接口查看路由实际是否生效。

http://{Gateway地址}/actuator/gateway/routes

服务引擎测试环境扩展配置

注意:服务引擎测试环境需要额外部署一个 gateway 和 dataengine 环境,注意应用名与生产环境有所区分。
添加测试系统

点击系统管理菜单,新增服务引擎测试系统 07.png

添加测试 gateway

点击网关菜单,配置网关 网关应用的应用名称需要以 GATEWAY 开头,并将 eos.gateway.sys-code 和 eos.gateway.sys-key 修改为当前系统的信息 08.png

DAMP 后端部署

后端介质部署

  1. 在对应目录下创建 dam 文件夹,将 Primeton_DAMP_7.1_GA_Server 复制到 dam 目录下并解压。
  2. 将 Mysql 数据库驱动放到 lib 目录下。

配置文件修改

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

dam/config/application.properties
dam/config/application-afc.properties
dam/config/application-bps.properties
dam/config/application-dam.properties
dam/config/DAMP-STANDALONE/config/user-config.xml

数据资产后端配置:dam/config/application.properties

server.port=28078 ### 根据实际情况修改
spring.application.name=DAM-PORTAL
spring.cloud.inetutils.preferred-networks=127.0.0.1 ### 防止nacos注册不稳定
spring.profiles.active=nacos,service
management.endpoints.web.exposure.include=hystrix.stream,health,info,loggers,eos,mappings
out.config.folder=config
eos.application.sys-code=datacenter ### 与afcenter保持一致
eos.application.sys-key=b56ba52c93ee4745aa003ae260b15729 ### 与afcenter保持一致
eos.cache.mode=redis

spring.redis.host=127.0.0.1 ### 根据实际情况修改,与afcenter保持一致
spring.redis.port=6379 ### 根据实际情况修改,与afcenter保持一致
spring.redis.password= ### 根据实际情况修改,与afcenter保持一致
spring.redis.lettuce.pool.max-active=100
spring.redis.lettuce.pool.max-idle=100
spring.redis.lettuce.pool.max-wait=5000

bps.application.name=BPS-SERVER
bps.tenant.id=
bps.tenant.token=

afc.application.name=AFCENTER ### 根据实际情况修改,与afcenter应用注册名保持一致
afc.application.tenant=sys_tenant
afc.application.appCode=
afc.application.appSecret=

flow.create.address=127.0.0.1 ### afc_IP地址
eos.export.depend-api-contributions=com.primeton.common.component.api,com.primeton.data.dam.api

注册中心配置:dam/config/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

配置中心配置:dam/config/bootstrap.properties

spring.cloud.nacos.config.enabled=true
spring.cloud.nacos.config.server-addr=127.0.0.1:8848 ### 根据实际情况修改
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos

服务引擎配置:dam/config/application-service.properties

# 在governor中单独创建一个用户,并将去设置为对应系统的spring系统管理员
primeton.governor.username=dataEngine
primeton.governor.password=000000
primeton.governor.cipher=false
# 修改为governor地址
primeton.governor.uri=http://127.0.0.1:31198/
primeton.governor.routeUri=DataEngine
primeton.governor.tokenExpiredTime=10

# 修改为对应系统的systemId,该参数可在governor数据库中t_eos_system中对应系统的ID值
primeton.governor.systemIdPRO=b5819b67-fb4f-413d-984f-628a7afcaae3
# systemIdDEV为可选配置.如果需要区分生产与测试引擎 可以进行添加,需在governor中再添加一个系统与部署一个gateway
primeton.governor.systemIdDEV=b0b0fceb-f780-41bd-a2ec-564b59ecaac6

# 告警监控
#alarm.skywalking.receive.adress=http://127.0.0.1:28085/com.primeton.data.dam.service.skywalkingReceive ##-根据实际情况修改
#alarm.skywalking.send.adress=http://127.0.0.1:28085/webhook ##-根据实际情况修改
# nacos配置中心
#alarm.skywalking.nacos.serverAddr=127.0.0.1:8848 ##-根据实际情况修改
#alarm.skywalking.nacos.namespace=
#alarm.skywalking.nacos.username=nacos ##-如果nacos设置了访问认证,则需要加上账号密码
#alarm.skywalking.nacos.password=nacos ##-如果nacos设置了访问认证,则需要加上账号密码

数据源配置:dam/config/DAM-PORTAL/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://127.0.0.1:3306/dam_v730?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT%2B8&amp;useSSL=false</configValue>
    <configValue key="C3p0-UserName">username</configValue>
    <configValue key="C3p0-Password">password</configValue>
    <configValue key="C3p0-PoolSize">10</configValue>
    <configValue key="C3p0-MaxPoolSize">50</configValue>
    <configValue key="C3p0-MinPoolSize">10</configValue>
    <configValue key="C3p0-MaxIdleTime">600</configValue>
    <configValue key="C3p0-IdleConnectionTestPeriod">900</configValue>
    <configValue key="C3p0-MaxStatements">0</configValue>
    <configValue key="C3p0-NumHelperThreads">1</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>

dataEngine 后端部署

后端部署

  1. 在后端对应目录下创建 dataengineprod、dataenginedev 目录。其中 dataengineprod 是生产环境引擎,dataenginedev 是测试环境引擎。

  2. 将 Primeton_DAMP_7.1_GA_DataEngine.tar.gz 复制到 dataengineprod、dataenginedev 目录下,解压后将数据库驱动放到 lib 目录下。

后端配置

数据资产后端配置文件如下:

server/dataengineprod/config/application.properties
server/dataenginedev/config/application.properties

生产环境配置:server/dataengineprod/config/application.properties

#-根据实际情况修改 PROD/DEV
spring.application.name=DataEnginePROD
server.port=10010
server.tomcat.max-connections=10000
server.tomcat.max-threads=1000
server.tomcat.min-spare-threads=100

#-根据实际情况修改以下nacos和eos配置
eos.application.sys-code=ZTFW ##-governor中生产环境系统编码
eos.application.sys-key=f60929ea6a92454d86fbc65c437fb483 ##-governor中生产环境系统凭证
# alibaba nacos
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

spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-request-size=100MB
spring.servlet.multipart.max-file-size=20MB
spring.servlet.multipart.location=${user.dir}/data/upload-tmp
spring.servlet.multipart.file-size-threshold=100KB

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.jackson.default-property-inclusion=ALWAYS
spring.jackson.deserialization.fail-on-unknown-properties=false

spring.task.scheduling.pool.size=5
spring.task.execution.pool.core-size=50
spring.task.execution.pool.max-size=100
spring.task.execution.pool.queue-capacity=100000

management.endpoints.web.exposure.include=*

#-根据实际情况修改数据库配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://172.50.1.12:3306/ems4catalog?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8
spring.datasource.username=root
spring.datasource.password=primeton123456

spring.datasource.pool-name=default
spring.datasource.minimum-idle=1
spring.datasource.maximum-pool-size=5


# Reference https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/html/common-application-properties.html
# see org.springframework.boot.autoconfigure.data.redis.RedisProperties
#-根据实际情况修改Redis配置
spring.redis.host=127.0.0.1
#spring.redis.port=6379

engine.runtime.group=DEFAULT
#-根据实际情况修改 PROD/DEV
engine.runtime.env=PROD

# engine.cache.notify.enabled=false
# none/memory/redis
# engine.security.token-cache.type=redis
# memory/redis
# engine.security.permission-cache.type=redis
# memory/none
# engine.service.spec-cache.type=none

# SQL SERVICE
#service.sql.query.order-column-limits=3

# engine.schedule.spec-cache-cleanup.cron=* 0/10 * * * ?
# Disabled by `-`
engine.schedule.spec-cache-sync.cron=-
# engine.schedule.spec-cache-sync.cron=* 0/10 * * * ?

测试环境配置:server/dataenginedev/config/application.properties

##-引擎环境配置,生产:PROD,测试:DEV
engine.runtime.env=DEV

##-根据实际情况修改,生产和测试环境需要所有区分,建议:DataEnginePROD/DataEngineDEV
spring.application.name=DataEngineDEV
server.port=10011

server.tomcat.max-connections=10000
server.tomcat.max-threads=1000
server.tomcat.min-spare-threads=100

#-根据实际情况修改以下nacos和eos配置
##-governor中测试环境系统编码
eos.application.sys-code=ZTFW
##-governor中测试环境系统编码
eos.application.sys-key=f60929ea6a92454d86fbc65c437fb483
# alibaba nacos
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

spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-request-size=100MB
spring.servlet.multipart.max-file-size=20MB
spring.servlet.multipart.location=${user.dir}/data/upload-tmp
spring.servlet.multipart.file-size-threshold=100KB

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.jackson.default-property-inclusion=ALWAYS
spring.jackson.deserialization.fail-on-unknown-properties=false

spring.task.scheduling.pool.size=5
spring.task.execution.pool.core-size=50
spring.task.execution.pool.max-size=100
spring.task.execution.pool.queue-capacity=100000

management.endpoints.web.exposure.include=*

#-根据实际情况修改数据库配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://172.50.1.12:3306/ems4catalog?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8
spring.datasource.username=root
spring.datasource.password=primeton123456

spring.datasource.pool-name=default
spring.datasource.minimum-idle=1
spring.datasource.maximum-pool-size=5

# Reference https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/html/common-application-properties.html
# see org.springframework.boot.autoconfigure.data.redis.RedisProperties
#-根据实际情况修改Redis配置
spring.redis.host=127.0.0.1
#spring.redis.port=6379

engine.runtime.group=DEFAULT

# engine.cache.notify.enabled=false
# none/memory/redis
# engine.security.token-cache.type=redis
# memory/redis
# engine.security.permission-cache.type=redis
# memory/none
# engine.service.spec-cache.type=none

# SQL SERVICE
#service.sql.query.order-column-limits=3

# engine.schedule.spec-cache-cleanup.cron=* 0/10 * * * ?
# Disabled by `-`
engine.schedule.spec-cache-sync.cron=-
# engine.schedule.spec-cache-sync.cron=* 0/10 * * * ?

前端配置

  1. 在 nginx 安装目录下的 conf/nginx.conf 配置文件中引入数据资产前端配置。
user  root; ##-根据实际用户配置,建议使用root启动
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;
    client_max_body_size 20M;
    client_body_buffer_size 10M;
    fastcgi_intercept_errors on;
    #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;

    include /home/primeton/web/conf/*.conf; ##-根据实际情况修改文件路径
}
  1. 修改资源目录 nginx 配置文件,配置在 web/conf/damp.conf:
upstream damGateway {
    server 127.0.0.1:9090;
}

server {
    listen 80;
    client_body_buffer_size 10m; #缓存区大小
    client_max_body_size 100m;
    # 页面转发
    location / {
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        root /home/primeton/web/afcenter;
        index index.html index.htm;
    }
    location /dam/ {
        alias /home/primeton/web/dam/;
    }
    location /dam_portal/ {
        alias /home/primeton/web/dam_portal/;
    }
    location /dataService/ {
        alias /home/primeton/web/dataService/;
    }

    # 接口转发
    location /afc {
        proxy_set_header X-EOS-SourceSysKey f60929ea6a92454d86fbc65c437fb483;
        proxy_pass http://damGateway/afc;
    }
    location /test/api {
        proxy_set_header X-EOS-SourceSysKey f60929ea6a92454d86fbc65c437fb483;
        proxy_pass http://127.0.0.1:10011/api ;
    }
    location /com.primeton.data.dam {
        proxy_set_header X-EOS-SourceSysKey f60929ea6a92454d86fbc65c437fb483;
        proxy_pass http://damGateway/DAM-PORTAL/com.primeton.data.dam;
    }
    location /com.primeton.common.component {
        proxy_set_header X-EOS-SourceSysKey f60929ea6a92454d86fbc65c437fb483;
        proxy_pass http://damGateway/com.primeton.common.component;
    }
    location /DAM-PORTAL/ {
        proxy_set_header X-EOS-SourceSysKey f60929ea6a92454d86fbc65c437fb483;
        proxy_pass http://damGateway/DAM-PORTAL/;
    }
}

启动服务

后端启动

Linux 系统

[root@localhost server]# ./damp/bin/startup.sh
[root@localhost server]# ./dataengineprod/bin/startup.sh
[root@localhost server]# ./dataenginedev/bin/startup.sh

Windows 系统

D:\Desktop\server> ./damp/bin/startup.cmd
D:\Desktop\server> ./dataengineprod/bin/startup.cmd
D:\Desktop\server> ./dataenginedev/bin/startup.cmd

前端启动

Linux 系统

[root@localhost nginx]# ./sbin/nginx

Windows 系统

D:\Desktop\server> nginx.exe

环境登录和验证

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

若无法访问,检查是否角色授权!!!

独立版本安装

安装介质说明和准备

独立安装介质内置了 AFCenter,无需再安装 AFCenter 环境。 独立安装介质目录如下:

|____server
| |____dam
| |    |____bin
| |    | |____startup.cmd
| |    | |____startup.sh
| |    | |____shutdown.sh
| |    | |____shutdown.sh
| |    |____db-scripts
| |    |____config
| |    |____lib
| |    |____com.primeton.data.dam.standalone.boot-7.1.0.jar
| |    |____version.properties
| |____dataengineprod
| | |____bin
| | | |____startup.cmd
| | | |____startup.sh
| | | |____shutdown.sh
| | | |____shutdown.sh
| | |____config
| | |____lib
| | |____data-service-engine-7.1.0-exec.jar
| | |____version.properties
| |____dataenginedev
| | |____bin
| | | |____startup.cmd
| | | |____startup.sh
| | | |____shutdown.sh
| | | |____shutdown.sh
| | |____config
| | |____lib
| | |____data-service-engine-7.1.0-exec.jar
| | |____version.properties
|____web
| |____afcenter
| |____dam
| |____conf #nginx配置文件
| |____dam_portal
| |____dataService

后端部署

在 server/dam、server/dataengineprod、server/dataenginedev 目录“lib”文件夹中,将 mysql 驱动放到 lib 目录下。

数据库初始化

创建数据库

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

CREATE DATABASE `dam` DEFAULT CHARACTER SET utf8mb4;

执行初始化脚本

独立介质安装时需要按顺序执行 EOS、AFCenter、DAMP 的数据库初始化脚本。初始化脚本路径为 Primeton_DAMP_7.1_GA_Standalone/dam/server/db-scripts,其中包括了 EOS、AFCenter、DAMP、BPS 的脚本。

#afcenter
all.sql #执行全量sql即可

#bfp
all.sql #执行全量sql即可

#eos
all.sql #执行全量sql即可

#lowcode
all.sql #执行全量sql即可

#bps
all.sql #执行全量sql即可

# dam
00-dam-talble.sql #资产相关表结构
01-dam_view.sql #资产相关视图,需要更元数据库名执行
03-dam-afc-data.sql #资产afc所需初始化脚本
04-dam-afc-dict.sql  #资产afc相关数据字典
05-dam-update.sql #资产更新语句
06-dam-bps.sql #资产流程初始化脚本

修改配置文件

后端配置

数据资产后端配置文件如下:

server/dam/config/application.properties
server/dam/config/application-afc.properties
server/dam/config/application-bps.properties
server/dam/config/application-dam.properties
server/dam/config/DAMP-STANDALONE/config/user-config.xml

server/dataengineprod/config/application.properties
server/dataenginedev/config/application.properties

server/dam/config/application.properties:

server.port=28083  #根据实际情况修改
spring.application.name=DAM-STANDALONE

#spring.profiles.active=eureka
spring.profiles.active=afc,bps,dam

spring.cloud.inetutils.preferred-networks=127.0.0.1 #根据实际情况修改
management.endpoints.web.exposure.include=hystrix.stream,health,info,loggers,eos,mappings

out.config.folder=config

eos.application.sys-code=EOS-ZTFW
eos.application.sys-key=ffe221f88a254efa8d3dee6be5a3ae4c

# eos cache config
eos.cache.mode=redis

# redis
spring.redis.host=127.0.0.1 #根据实际情况修改
spring.redis.port=6379
spring.redis.password=
spring.redis.lettuce.pool.max-active=100
spring.redis.lettuce.pool.max-idle=100
spring.redis.lettuce.pool.max-wait=5000

# afcenter
afc.application.name=AFCENTER #根据实际情况修改
afc.application.tenant=sys_tenant
afc.application.appCode=
afc.application.appSecret=

flow.create.address=127.0.0.1 #afc_ip
eos.export.depend-api-contributions=com.primeton.common.component.api,com.primeton.data.dam.api,com.primeton.data.dam.portal.api

server/dam/config/application-afc.properties:

# attachment
# mode: local,db,nexus,aliyun-oss
afc.attachments.persistence-mode=local#根据实际情况修改
afc.attachments.local.dir=
afc.attachments.nexus.repository-url=
afc.attachments.nexus.username=
afc.attachments.nexus.password=
afc.attachments.aliyun-oss.endpoint=
afc.attachments.aliyun-oss.access-key-id=
afc.attachments.aliyun-oss.access-key-secret=
afc.attachments.aliyun-oss.bucket-name=
afc.attachments.libre-office.host=
afc.attachments.libre-office.port=

# afc environment
afc.environment.active=dev

# operation-logs to history
afc.schedule.logs-to-history.cron=0 0 4 1 1/1 ?
afc.schedule.logs-to-history.stay-month-number=2

server/dam/config/application-bps.properties:

bps.local.thread=true

server/dam/config/application-dam.properties:

primeton.governor.username=admin
primeton.governor.password=000000
primeton.governor.cipher=false
primeton.governor.uri=http://127.0.0.1:31198/
primeton.governor.routeUri=DataEngine
primeton.governor.tokenExpiredTime=10
primeton.governor.systemIdDEV=b0b0fceb-f780-41bd-a2ec-564b59ecaac6
primeton.governor.systemIdPRO=b5819b67-fb4f-413d-984f-628a7afcaae3
primeton.elasticsearch.host=127.0.0.1:9200
#primeton.elasticsearch.port=9200

# skywalking notice utl
alarm.skywalking.receive.adress=http://127.0.0.1:28085/com.primeton.data.dam.service.skywalkingReceive#根据实际情况修改
# notice send url
alarm.skywalking.send.adress=http://127.0.0.1:28085/webhook#根据实际情况修改

# nacos properties
# used to refresh skywalking properties
alarm.skywalking.nacos.serverAddr=127.0.0.1:8848
alarm.skywalking.nacos.namespace=
alarm.skywalking.nacos.username=nacos
alarm.skywalking.nacos.password=nacos

eos.export.depend-api-contributions=com.primeton.common.component.api,com.primeton.data.dam.api

server/dam/config/DAMP-STANDALONE/config/user-config.xml 修改其中 default 数据源配置:

<module name="DataSource">
    <!--system default datasouce -->
    <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://localhost:3306/dam_v730?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=GMT%2B8&amp;useSSL=false</configValue>
        <configValue key="C3p0-UserName">username</configValue>
        <configValue key="C3p0-Password">password</configValue>
        <configValue key="C3p0-PoolSize">10</configValue>
        <configValue key="C3p0-MaxPoolSize">50</configValue>
        <configValue key="C3p0-MinPoolSize">10</configValue>
        <!-- //seconds, 0 means connections never expire -->
        <configValue key="C3p0-MaxIdleTime">600</configValue>
        <!-- //idle connections never tested -->
        <configValue key="C3p0-IdleConnectionTestPeriod">900</configValue>
        <configValue key="C3p0-MaxStatements">0</configValue>
        <configValue key="C3p0-NumHelperThreads">1</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>
</module>

服务引擎生产环境配置:server/dataengineprod/config/application.properties

spring.application.name=DataEnginePROD
server.port=10010
server.tomcat.max-connections=10000
server.tomcat.max-threads=1000
server.tomcat.min-spare-threads=100

#eos.application.sys-code=ZTFW
#eos.application.sys-key=f60929ea6a92454d86fbc65c437fb483

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

spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-request-size=100MB
spring.servlet.multipart.max-file-size=20MB
spring.servlet.multipart.location=${user.dir}/data/upload-tmp
spring.servlet.multipart.file-size-threshold=100KB

spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.jackson.default-property-inclusion=ALWAYS
spring.jackson.deserialization.fail-on-unknown-properties=false

spring.task.scheduling.pool.size=5
spring.task.execution.pool.core-size=50
spring.task.execution.pool.max-size=100
spring.task.execution.pool.queue-capacity=100000

management.endpoints.web.exposure.include=*

###数据库信息根据实际情况修改
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ems4catalog?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2b8
spring.datasource.username=root
spring.datasource.password=primeton123456
spring.datasource.pool-name=default
spring.datasource.minimum-idle=1
spring.datasource.maximum-pool-size=5


# Reference https://docs.spring.io/spring-boot/docs/2.1.7.RELEASE/reference/html/common-application-properties.html
# see org.springframework.boot.autoconfigure.data.redis.RedisProperties
spring.redis.host=127.0.0.1 ###根据实际情况修改
#spring.redis.port=6379

engine.runtime.group=DEFAULT
engine.runtime.env=PROD ###根据实际情况修改:PROD/DEV

# engine.cache.notify.enabled=false
# none/memory/redis
# engine.security.token-cache.type=redis
# memory/redis
# engine.security.permission-cache.type=redis
# memory/none
# engine.service.spec-cache.type=none

# SQL SERVICE
#service.sql.query.order-column-limits=3

# engine.schedule.spec-cache-cleanup.cron=* 0/10 * * * ?
# Disabled by `-`
engine.schedule.spec-cache-sync.cron=-
# engine.schedule.spec-cache-sync.cron=* 0/10 * * * ?

前端配置

  1. 在 nginx 安装目录下的 conf/nginx.conf 配置文件中引入数据资产前端配置。
user  root; ##-根据实际用户配置,建议使用root启动
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;
    client_max_body_size 20M;
    client_body_buffer_size 10M;
    fastcgi_intercept_errors on;
    #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;

    include /home/primeton/web/conf/*.conf; ##-根据实际情况修改文件路径
}
  1. 修改资源目录 nginx 配置文件,配置在 web/conf/damp.conf:
upstream damGateway {
    server 127.0.0.1:28083;##-damp后端地址,按照实际情况修改
}

server {
    listen 8001;
    client_body_buffer_size 10m; #缓存区大小
    client_max_body_size 100m;
    # 页面转发
    location / {
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        root /home/primeton/web/afcenter;
        index index.html index.htm;
    }
    location /dam/ {
        alias /home/primeton/web/dam/;
    }
    location /dam_portal/ {
        alias /home/primeton/web/dam_portal/;
    }
    location /dataService/ {
        alias /home/primeton/web/dataService/;
    }

    # 接口转发
    location /afc {
        proxy_pass http://damGateway/;
    }
    location /test/api {
        proxy_pass http://127.0.0.1:10010/api ;
    }
    location /com.primeton.data.catalog.portal {
        proxy_pass http://damGateway/com.primeton.data.catalog.portal;
    }
    location /com.primeton.data.dam {
        proxy_pass http://damGateway/com.primeton.data.dam;
    }
    location /com.primeton.common.component {
        proxy_pass http://damGateway/com.primeton.common.component;
    }
    location /DAM-PORTAL/api {
        proxy_pass http://damGateway/api ;
    }
    location /DAM-PORTAL/dam {
        proxy_pass http://damGateway/dam;
    }
    location /DAM-PORTAL/com.primeton.data {
        proxy_pass http://damGateway/com.primeton.data;
    }
}

启动服务

启动服务时需要分别启动前后端应用,后端通过 bin 目录下的启动命令启动。前端则通过 nginx 加载配置启动。

后端启动

linux

[primeton@localhost allinone]$ ./bin/startup.sh

Windows:

D:\develop\allinone>./bin/startup.cmd

前端启动

linux

[root@localhost web]# nginx -s standalone.conf

Windows:

D:\develop\nginx-1.20.1>nginx.exe -s standalone.conf

环境登录及验证

访问 http://localhost:port,使用初始用户登录,初始用户名、密码为:admin、000000。 用户正常登录并且能够看到资源目录菜单即可。

平台配置

第一次登录系统后需要修改部分平台参数,其中必须初始化的配置参数包括元数据配置、服务引擎、搜索引擎。

  1. 登录系统,进入平台配置页面。 00-config.png
  2. 修改元数据配置 01-config.png
  3. 修改服务引擎配置 02-config.png
  4. 修改搜索引擎配置 03-config.png

PS:也可以直接在数据库中修改,平台配置表:comp_system_config。

补充

待补充。

常见问题

前端静态资源访问 403

检查 nginx 配置文件中 user 配置是否正确,默认建议使用 root 账号启动 nginx。

user  root; ##-根据实际用户配置,建议使用root启动
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

...

环境访问问题

1.若无法访问,登录admin/000000,检查角色授权问题;
2.检查应用是否配置的Afenter应用是否一致;
3.检查应用与afcenter是否公用Redis;
4.检查nginx代理是否成功;

系统运行问题

1.检查业务字典是否正确;例如:元数据配置信息、ES配置信息等。

附录

sql文件下载

微应用版

序号 文件名 操作
1 00-dam-table.sql 下载
2 01-dam-view.sql 下载
3 03-dam-afc-data.sql 下载
4 04-dam-afc-dict.sql 下载
5 05-dam-update.sql 下载
6 06-dam-bps-init.sql 下载

独立版

序号 分类 文件名 操作
1 afcenter all.sql 下载
2 bfp all.sql 下载
3 bps all.sql 下载
4 eos all.sql 下载
5 lowcode all.sql 下载
6 dam 00-dam-table.sql 下载
7 dam 01-dam-view.sql 下载
8 dam 03-dam-afc-data.sql 下载
9 dam 04-dam-afc-dict.sql 下载
10 dam 05-dam-update.sql 下载
11 dam 06-dam-bps-init.sql 下载

results matching ""

    No results matching ""