# 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.0LA.tar.gz #微服务版介质
├── Primeton_DWS_Server_7.0LA.tar.gz
│ ├── bin
│ ├── config
│ ├── db-scripts
│ ├── fdm
│ ├── lib
│ ├── Primeton_DWS_Server_7.0LA.jar
│ └── version.properties
└── Primeton_DWS_UI_7.0LA.tar.gz
├── jobsch
├── prjdevide
├── prjdevui
└── version.properties
pubresmng_component_v8.3.0.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.0LA.tar.gz 和dws
前端介质:Primeton_DWS_UI_7.0LA.tar.gz
cd /opt/dws
#解压介质
tar -zxvf Primeton_DWS_MicroApp_7.0LA.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.0LA.tar.gz -C /opt/dws/dws_server
# 2.3 解压dws前端介质到AFCENTER
前端 UI 目录下
#解压 DWS 前端介质到 AFCENTER 前端 UI 目录下
tar -zxvf Primeton_DWS_UI_7.0LA.tar.gz -C /opt/dws/afcenter_ui
# 2.4 解压公共资源组件介质到pubresmng_component目录下
#解压公共资源组件介质到pubresmng_component目录下
mkdir /opt/dws/pubresmng_component
unzip pubresmng_component_v8.3.0.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. 初始化数据库脚本
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配置文件
拷贝 /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
修改/opt/dws/afcenter-base/config/application-pubresmng.properties 文件内容,指定公共资源数据源外置驱动参数目录路径:public-resource.database.library.path
vim /opt/dws/afcenter-base/config/application-pubresmng.properties
修改/opt/dws/afcenter-base/config/application.properties 文件内容,启用application-pubresmng.properties配置文件。
vim /opt/dws/afcenter-base/config/application.properties
修改以上配置需要重启AFCENTER。
cd /opt/dws/afcenter-base ./bin/shutdown.sh ./bin/startup.sh
# 5. 修改DWS配置文件
- 修改
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
- 修改 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
- 修改
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
- 修改 dws_server/config/DWS/config/user-config.xml
修改文件中的数据库配置信息,即[初始化脚本](#3. 初始化数据库脚本)所用的数据库。
<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&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>
# 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/;
}
# 如下图所示:
# 方式二:
# {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/;
}
# 作业调度后端,根据实际环境修改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/;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# 配置完成后重启nginx。
# 7. 启动/停止服务
- 启动/停止
DWS
服务
cd dws_server/
#启动服务
./bin/startup.sh
#停止服务
./bin/shutdown.sh
- 启动 Nginx 服务
cd /usr/local/nginx/sbin
./nginx #启动
./nginx -s reload #重新加载
⚠️ 特殊场景说明: 在初始化公共资源模块的sql语句前,如果AFCENTER已经完成了初次启动且初始化数据完成,则在完成公共资源相关部署(介质解压部署,sql脚本初始化,配置文件修改)并重启AFCENTER后,需要进行如下配置:
# 8.重启AFCENTER后的权限配置(非必要步骤)
# 8.1 同步租户资源,导入dws数据
- 登录
AFCENTER
系统(本示例中地址http://192.168.16.80:8081),点击【应用中心】,进入菜单 “通用管理”->”数据导入”,点击【同步租户资源】
- 点击"同步"按钮,数据同步完成。
# 8.2 角色授权
- 点击【应用中心】,进入菜单“权限管理“->“角色管理“,点击租户管理员的【资源权限数量】,如下图
- 在【应用基础门户】的“页面”tab中,分别勾选【存算引擎管理】、【数据源管理】、【调度引擎管理】、【数据层管理】,并点击保存
- 在点击“功能”tab中,分别勾选【存算引擎管理】、【数据源管理】、【调度引擎管理】、【数据层管理】,并点击保存
- 在【数据开发】的“页面”tab中,分别勾选【项目列表】、【运维中心】、【调度引擎】,并点击保存
- 在【数据开发】的“功能”tab中,勾选【调度引擎】,并点击保存
- 刷新页面,看到【公共资源】、【数据开发】、【作业调度】、【运维中心】菜单,角色授权成功。
# 附端口号:
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 |