普元数据开发平台 普元数据开发平台
产品介绍
安装部署
快速入门
操作指南
FAQ
  • MicroApp 版安装
  • 1. 介质说明
  • 2. 解压介质
  • 2.1 解压dws 微服务版介质
  • 2.2 解压dws后端介质到dws_server目录
  • 2.3 解压dws前端介质到AFCENTER 前端 UI 目录下
  • 2.4 解压公共资源组件介质到pubresmng_component目录下
  • 2.5 将公共资源组件backend中的驱动拷贝至AFCENTER的lib目录下
  • 2.6 将公共资源组件frontend中的pubresmng_app.zip解压到AFCENTER前端部署路径
  • 3. 初始化数据库脚本
  • 4.增加AFCENTER配置文件
  • 5. 修改DWS配置文件
  • 6. nginx.conf配置
  • 微应用环境,与afc使用同一个nginx,提供以下两种配置方式参考,示例如下 :
  • 7. 启动/停止服务
  • 8.重启AFCENTER后的权限配置(非必要步骤)
  • 8.1 同步租户资源,导入dws数据
  • 8.2 角色授权
  • 附端口号:

# MicroApp 版安装

MicroApp 版介质部署前,请先参照手册部署 AFCENTER 微服务版介质(V8.3.0)并初始化 AFCENTER 的数据库;

约定 AFCENTER 前端部署路径为:/opt/dws/afcenter_ui,后端路径为:/opt/dws/afcenter-base,数据库为:afc。

AFCENTER 前端部署结果如下:

afcenter_ui
├──assets
├──bfp
├──components
├──components-ext
├──config
├──formDesigner
├──ide
├──portal
├──static
├──widget
├──remoteEntry.js.gz
├──index.html
├──version.properties
└──remoteEntry.js

AFCENTER 后端部署结果如下:

afcenter-base
├──bin
├──config
├──db-scripts
├──lib
├──com.primeton.gocom.afcenterall.boot-8.3.0-exec.jar
└──version.properties

# 1. 介质说明

Primeton_DWS_MicroApp_7.0LA2.tar.gz #微服务版介质 ├── Primeton_DWS_Server_7.0LA2.tar.gz │   ├── bin │   ├── config │   ├── db-scripts │   ├── fdm │   ├── lib │   ├── Primeton_DWS_Server_7.0LA2.jar │   └── version.properties ├── Primeton_DWS_UI_7.0LA2.tar.gz │ ├── jobsch │ ├── prjdevide │ ├── prjdevui │ └── version.properties

pubresmng_component_v8.3.0.1.zip #公共资源组件介质 ├── backend │   ├── pubresmng_ext_lib │   └── pubresmng_lib ├── config │   └── application-comp-pubresmng.properties ├── frontend │   └── pubresmng_app.zip ├── meta.json ├── script └── version.properties

# 2. 解压介质

# 2.1 解压dws 微服务版介质

#解压出dws后端介质:Primeton_DWS_Server_7.0LA2.tar.gz 和dws前端介质:Primeton_DWS_UI_7.0LA2.tar.gz cd /opt/dws #解压介质 tar -zxvf Primeton_DWS_MicroApp_7.0LA2.tar.gz -C /opt/dws

# 2.2 解压dws后端介质到dws_server目录

#在 /opt/dws 目录下创建 dws_server 文件夹 mkdir /opt/dws/dws_server #解压微服务后端介质到对应的目录下 tar -zxvf Primeton_DWS_Server_7.0LA2.tar.gz -C /opt/dws/dws_server

# 2.3 解压dws前端介质到AFCENTER 前端 UI 目录下

#解压 DWS 前端介质到 AFCENTER 前端 UI 目录下 tar -zxvf Primeton_DWS_UI_7.0LA2.tar.gz -C /opt/dws/afcenter_ui

# 2.4 解压公共资源组件介质到pubresmng_component目录下

#解压公共资源组件介质到pubresmng_component目录下
mkdir /opt/dws/pubresmng_component 
unzip pubresmng_component_v8.3.0.1.zip -d /opt/dws/pubresmng_component

# 2.5 将公共资源组件backend中的驱动拷贝至AFCENTER的lib目录下

# 将公共资源组件backend中的驱动拷贝至AFCENTER的lib目录下
cp -p /opt/dws/pubresmng_component/backend/pubresmng_lib/*.jar  /opt/dws/afcenter-base/lib

# 2.6 将公共资源组件frontend中的pubresmng_app.zip解压到AFCENTER前端部署路径

#将公共资源组件frontend中的pubresmng_app.zip解压到AFCENTER前端部署路径
unzip /opt/dws/pubresmng_component/frontend/pubresmng_app.zip -d /opt/dws/afcenter_ui

# 3. 初始化数据库脚本

目前 DWS 产品支持的数据库有:MySQL、PostgreSQL、Oracle、openGauss、达梦8。介质中可以看到以数据库类型命名的文件夹。

MySQL 数据库需要设置为大小写不敏感,即: lower_case_table_names=1

本说明以 MySQL 数据库为例:

场景1:AFCENTER和`DWS微服务分库初始化脚本

  • 创建数据库 dws
  • 在afc数据库执行公共资源脚本:/opt/dws/pubresmng_component/script/Mysql/all.sql
  • 在afc数据库执行脚本:/opt/dws/dws_server/db-scripts/dws/Mysql/00-afc-data.sql
  • 在dws数据库执行脚本:/opt/dws/dws_server/db-scripts/dws/Mysql/02-dws-table.sql
  • 在dws数据库执行脚本:/opt/dws/dws_server/db-scripts/dws/Mysql/03-dws-data.sql
  • 在dws数据库执行脚本:/opt/dws/dws_server/db-scripts/eos/Mysql/all.sql

场景2:AFCENTER和DWS微服务同库初始化脚本

  • 在afc数据库执行公共资源脚本:/opt/dws/pubresmng_component/script/Mysql/all.sql

  • 在afc数据库执行DWS脚本:/opt/dws/dws_server/db-scripts/dws/Mysql/all.sql

# 4.增加AFCENTER配置文件

  1. 拷贝 /opt/dws/pubresmng_component/config/application-comp-pubresmng.properties 到 AFCENTER Server目录下:/opt/dws/afcenter-base/config,并更名为application-pubresmng.properties

    cp /opt/dws/pubresmng_component/config/application-comp-pubresmng.properties /opt/dws/afcenter-base/config
    mv /opt/dws/afcenter-base/config/application-comp-pubresmng.properties       /opt/dws/afcenter-base/config/application-pubresmng.properties 
    
  2. 修改/opt/dws/afcenter-base/config/application-pubresmng.properties 文件内容,指定公共资源数据源外置驱动参数目录路径:public-resource.database.library.path

    vim /opt/dws/afcenter-base/config/application-pubresmng.properties
    public-resource.database.library.enabled=true
    public-resource.database.library.path=/opt/dws/pubresmng_component/backend/pubresmng_ext_lib
    注意: 默认外置驱动不包含星环Inceptor,使用星环Inceptor前需要将驱动包放到配置的目录下。
    

    image-20231212173440623

  3. 修改/opt/dws/afcenter-base/config/application.properties 文件内容,启用application-pubresmng.properties配置文件。

    vim /opt/dws/afcenter-base/config/application.properties
    

    image-20231222135102557

  4. 修改以上配置需要重启AFCENTER。

    cd /opt/dws/afcenter-base
    ./bin/shutdown.sh
    ./bin/startup.sh
    

# 5. 修改DWS配置文件

  1. 修改 dws_server/config/bootstrap.properties,使用实际的nacos服务所在服务器ip:port
# nacos-addr 
spring.cloud.nacos.config.enabled=true
spring.cloud.nacos.config.server-addr=127.0.0.1:8848  #修改为实际的nacos服务所在服务器ip:port
  1. 修改 dws_server/config/application-nacos.properties,使用实际的nacos服务所在服务器ip:port
spring.cloud.nacos.discovery.enabled=true
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848	#修改为实际的nacos服务所在服务器ip:port

eureka.client.enabled=false
  1. 修改dws_server/config/application.properties,修改redis配置参数
# eos cache config
eos.cache.mode=redis

spring.session.store-type=redis
#修改redis配置信息 
spring.redis.host=192.168.30.142
spring.redis.port=6379
spring.redis.password=123456
spring.redis.lettuce.pool.max-active=100
spring.redis.lettuce.pool.max-idle=100
spring.redis.lettuce.pool.max-wait=5000
  1. 修改 dws_server/config/DWS/config/user-config.xml

修改文件中的数据库配置信息,即[初始化脚本](#3. 初始化数据库脚本)所用的数据库。

MySQL:

<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/dws?characterEncoding=utf-8&amp;serverTimezone=Asia/Shanghai</configValue>
    <configValue key="C3p0-UserName">root</configValue>
    <configValue key="C3p0-Password">root</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>

Oracle:

<group name="default">
            <configValue key="Database-Type">Oracle</configValue>
            <configValue key="Jdbc-Type"/>
            <configValue key="C3p0-DriverClass">oracle.jdbc.OracleDriver</configValue>
            <configValue key="C3p0-Url">jdbc:oracle:thin:@192.168.16.94:1521:orcl</configValue>
            <configValue key="C3p0-UserName">C##DWS_INIT</configValue>
            <configValue key="C3p0-Password">primeton</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>

PostgreSQL: url连接中必须增加参数 ?stringtype=unspecified

 <group name="default">
            <configValue key="Database-Type">postgresql</configValue>
            <configValue key="Jdbc-Type"/>
            <configValue key="C3p0-DriverClass">org.postgresql.Driver</configValue>
            <configValue key="C3p0-Url">jdbc:postgresql://192.168.16.86:5432/dws7la_test?stringtype=unspecified</configValue>
            <configValue key="C3p0-UserName">dws7la_test</configValue>
            <configValue key="C3p0-Password">primeton</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>

DM:

 <group name="default">
            <configValue key="Database-Type">DM</configValue>
            <configValue key="Jdbc-Type"/>
            <configValue key="C3p0-DriverClass">dm.jdbc.driver.DmDriver</configValue>
            <configValue key="C3p0-Url">jdbc:dm://192.168.16.90:5236/DWSV7LA</configValue>
            <configValue key="C3p0-UserName">DWSV7LA</configValue>
            <configValue key="C3p0-Password">primeton</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>

openGauss:

 <group name="default">
            <configValue key="Database-Type">gaussDB</configValue>
            <configValue key="Jdbc-Type"/>
            <configValue key="C3p0-DriverClass">org.opengauss.Driver</configValue>
            <configValue key="C3p0-Url">jdbc:opengauss://192.168.16.144:15432/dws7_test</configValue>
            <configValue key="C3p0-UserName">gaussdb</configValue>
            <configValue key="C3p0-Password">primeton</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>
  1. 若使用的数据库是PostgreSQL和openGauss ,需要对配置文件做如下修改 dws_server/conf/application-dws.properties,启用如下配置
#(gaussDB,postgreSQL启用该值)
quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate

image-20240314152613055

# 6. nginx.conf配置

# 微应用环境,与afc使用同一个nginx,提供以下两种配置方式参考,示例如下 :

# 方式一:(推荐使用):

# 配置 {eos8.0la安装路径}/apps/eos-app/web/conf/eos8.conf文件,增加如下配置到eos8.conf中

        location /DWS {
            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://192.168.16.80:28085/;

            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
            proxy_read_timeout 600s;
        }

# 如下图所示:

eos8nginx

# 方式二:

# {eos8.0la安装路径}/apps/eos-app/web/conf下新增加一个配置文件,例如:dws.conf,配置如下:

        server {
        listen       8081;
        server_name  192.168.16.80; # 根据实际环境修改ip和端口

        charset utf-8;
        # AFCenter 前端资源文件,根据实际环境修改路经
        location / {
            root   /opt/dws/afcenter_ui;
            index  index.html index.htm;
            try_files $uri /index.html;
        }

        # AFcenter后端,根据实际环境修改ip和端口
        location /afc {
            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;
           
            proxy_pass http://192.168.16.80:28083/;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";

        }

        # 作业调度后端,根据实际环境修改ip和端口

        location /DWS {
            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://192.168.16.80:28085/;

            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
            proxy_read_timeout 600s;
        }


        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
}

# 配置完成后重启nginx。

# 7. 启动/停止服务

  1. 启动/停止DWS服务
 cd dws_server/
 #启动服务
 ./bin/startup.sh
 #停止服务
 ./bin/shutdown.sh
  1. 启动 Nginx 服务
cd /usr/local/nginx/sbin
./nginx                 #启动
./nginx -s reload       #重新加载

⚠️ 特殊场景说明: 在初始化公共资源模块的sql语句前,如果AFCENTER已经完成了初次启动且初始化数据完成,则在完成公共资源相关部署(介质解压部署,sql脚本初始化,配置文件修改)并重启AFCENTER后,需要进行如下配置:

# 8.重启AFCENTER后的权限配置(非必要步骤)

1.若当前使用的AFCenter版本为8.3.0,则需要将介质AFC-patch.zip中的文件解压到${AFCenter部署路径}/lib目录下,然后重启AFCenter。

58ce3e6e9ad99d19f123462d355a7e1

patch_20240726142848.png

2.若使用的数据库是PostgreSQL或openGauss时,则需要将介质DWS-patch.zip中的文件解压到${DWS Server部署路径}/lib目录下,然后重启DWS。

patch_20240726142848.png

# 8.1 同步租户资源,导入dws数据

  1. 登录AFCENTER系统(本示例中地址http://192.168.16.80:8081),点击【应用中心】,进入菜单 “通用管理”->”数据导入”,点击【同步租户资源】

image-20231222135447453

image-20231222135508573

  1. 点击"同步"按钮,数据同步完成。

# 8.2 角色授权

  1. 点击【应用中心】,进入菜单“权限管理“->“角色管理“,点击租户管理员的【资源权限数量】,如下图

image-20231222135835590

  1. 在【应用基础门户】的“页面”tab中,分别勾选【存算引擎管理】、【数据源管理】、【主题管理】、【调度引擎管理】、【数据层管理】、【数据租户管理】,并点击保存

image-20240529173305955

image-20240529173418391

  1. 在点击“功能”tab中,分别勾选【存算引擎管理】、【数据源管理】、【主题管理】、【调度引擎管理】、【数据层管理】、【数据租户管理】,并点击保存

image-20240529173510290

image-20240529173545226

  1. 在【数据开发】的“页面”tab中,分别勾选【项目列表】、【运维中心】、【调度引擎】,并点击保存

image-20231222140424576

  1. 在【数据开发】的“功能”tab中,勾选【调度引擎】,并点击保存

image-20240529173625657

  1. 点击返回角色管理,在平台页签,点击【数据治理开发】角色对应的资源权限数量。

image-20240319175129653

image-20240319175134005

  1. 选择【应用基础门户】,切换功能页签,勾选“成员管理”下的所有选项,并保存。

image-20240319175232959

image-20240319175301347

  1. 选择【数据开发】,点击页面页签,勾选全部选项并保存。

image-20240321152839282

image-20240321152853403

  1. 切换功能页签,勾选“项目列表”的“项目查询”,以及调度引擎与运维中心下的所有选项。

image-20240319175433737

image-20240319175438379

  1. 返回角色管理,在平台页签,点击【数据租户】角色对应的资源权限数量。

image-20240319175530703

  1. 选择【应用基础门户】,切换页面页签,勾选“数据租户管理”,并保存。

image-20240319175641493

  1. 切换功能页签,勾选“成员管理”下的所有选项,以及“数据租户管理”下的“查询数据租户”选项,并保存。

image-20240319175714556

image-20240319175729165

image-20240319175828795

  1. 返回角色管理,切换业务对象页签,选择应用基础门户下的【公共资源】,点击【数据租户管理员】的资源权限数量。

image-20240319180015209

  1. 切换至功能页签,勾选“数据租户资源修改”,并保存。

image-20240319180050406

image-20240319180107201

  1. 返回角色管理,切换业务对象页签,选择数据开发下的【数据开发项目】,点击【数据治理项目管理员】的资源权限数量。

image-20240319180137490

  1. 切换至页面页签,勾选“数据开发-项目配置”、“作业调度-引擎”下的所有选项,并保存。

image-20240319180217152

image-20240319180235709

  1. 切换至功能页签,勾选“项目列表”、“调度引擎”下的所有选项,并保存。

image-20240319180300079

image-20240319180324044

  1. 返回上一层,点击【数据治理项目开发】的资源权限数量。

image-20240319180358423

  1. 切换至页面页签,勾选“数据开发-项目配置”下的“项目信息”、“数据源配置”、“文件管理”;“作业调度-引擎"下的”作业流管理“、”作业流实例“、”任务管理“、”任务实例“ 选项,并保存。

image-20240319180435588

image-20240319180528671

  1. 切换至功能页签,勾选”项目列表“下的”项目导入/导出“、”项目开发“、”项目调度资源查看“、”项目资源配置“,并保存。

image-20240319180620483

image-20240319180721954

  1. 返回上一层,点击【数据治理项目运维】的资源权限数量。

image-20240319180858845

  1. 切换至页面页签,勾选”数据开发-项目配置“下的”项目信息“选项;勾选”作业调度-引擎“的所有选项,并保存。

image-20240319180925930

image-20240319180958133

  1. 切换至功能页签,勾选”项目列表“下的”项目投产“、”项目导入/导出“、”项目调度资源查看“选项,勾选”调度引擎“下的所有选项,并保存。

image-20240319181052518

  1. 刷新页面后,权限配置正常。

image-20240319181357445

# 附端口号:

PC1: dolphinscheduler + Zookeeper

master worker api alter zookeeper
5678 1234 12345 50052 2181

PC2: data workshop +nginx

nginx dws afc redis
8081 28085 28083 6379

← Redis安装指南 Standalone版安装指南 →