Skip to content

Latest commit

 

History

History
436 lines (356 loc) · 15.1 KB

install.md

File metadata and controls

436 lines (356 loc) · 15.1 KB

部署指南

1、后端结构

├── studio
│   ├── config(配置中心,必须启动)
│   ├── eureka(注册中心,必须启动)
│   ├── gateway(网关,必须启动)
│   ├── install(脚本目录,数据库脚本必须)
│   │   ├── 16gdata
│   │   ├── 16gmaster
│   │   │   ├──studio
│   │   │  │   ├──studio-0.x.x.sql
│   ├── modules(各模块目录)
│   │   ├── codegen-service-parent(代码生成模块,可选启动)
│   │   ├── data-market-service-parent(数据集市模块,可选启动)
│   │   ├── data-masterdata-service-parent(主数据服务模块,可选启动)
│   │   ├── data-metadata-service-parent(元数据管理模块,可选启动)
│   │   ├── data-quality-service-parent(数据质量模块,可选启动)
│   │   ├── data-standard-service-parent(数据标准模块,可选启动)
│   │   ├── data-system-service-parent
│   │   ├── data-visual-service-parent(数据可视化模块,可选启动)
│   │   ├── email-service-parent(邮件管理模块,可选启动)
│   │   ├── file-service-parent(文件管理模块,可选启动)
│   │   ├── quartz-service-parent(定时任务模块,可选启动)
│   │   ├── service-data-dts-parent(数据集成模块,可选启动)
│   │   ├── system-service-parent(系统管理模块,必须启动)
│   │  └── workflow-service-parent(工作流模块,可选启动)
│   ├── pom.xml

2、前端结构

│ ── micro-ui
     ├── public // 公共文件
    │   ├── favicon.ico // favicon图标
    │   ├── index.html  // html模板
    │   └── robots.txt //爬虫协议
     ├── src    // 源代码         
    │   ├── App.vue
    │   ├── api    // 所有请求
    │   ├── assets// 主题 字体等静态资源
    │   ├── components // 全局公用组件
    │   ├── directive  // 全局指令
    │   ├── filters
    │   ├── icons 
    │   ├── layout  // 布局
    │   ├── main.js // 入口 加载组件 初始化等
    │   ├── mixins
    │   ├── router  // 路由
    │   ├── settings.js // 系统配置
    │   ├── store  // 全局 store管理
    │   ├── styles // 样式
    │   ├── utils  // 全局公用方法
    │   ├── vendor
    │   └── views  // view页面
    │       ├── components
    │       ├── dashboard
    │       ├── dts
    │       ├── features
    │       ├── generator
    │       ├── govern
    │       ├── home.vue
    │       ├── lakehouse
    │       ├── login.vue
    │       ├── market
    │       ├── masterdata
    │       ├── metadata
    │       ├── mnt
    │       ├── monitor
    │       ├── nested
    │       ├── quality
    │       ├── standard
    │       ├── system
    │       ├── tools
    │       ├── visual
    │       └── workflow
    └── vue.config.js
    ├── package.json
    ├── plopfile.js
    ├── postcss.config.js

3、准备工作

JDK >= 1.8 
Mysql >= 5.7.0 (推荐5.7及以上版本)
Redis >= 3.0
Maven >= 3.0
Node >= 10.15.3
RabbitMQ >= 3.0.x

使用Mysql 8的用户注意导入数据时的编码格式问题

4、本地启动/运行系统

首先确保启动rabbitmq,mysql,redis已经启动

4.1 后端运行

1、前往GitHub项目页面(https://github.com/alldatacenter/alldata) 推荐使用版本控制方式下载解压到工作目录或IDEA直接从VCS获取项目代码,便于同步最新社区版改动, alldata/studio/为项目前后端存放路径。

2、项目导入到IDEA后,会自动加载Maven依赖包,初次加载会比较慢(根据自身网络情况而定)

3、创建数据库studio:到 factory/studio/install/sql目录下sql数据脚本,把 studio.sqlstudio-v0.x.x.sql导入本地或线上Mysql数据库

4、导入BI sql, 参考alldata/bi_quickstart.md

5、修改该文件 alldata/studio/config/src/main/resources/config/application-common-dev.yml的rabbitmq,mysql,redis为自己的服务

6、打开运行基础模块(启动没有先后顺序)

DataxEurekaApplication.java(注册中心模块 必须)
DataxConfigApplication.java(配置中心模块 必须)
DataxGatewayApplication.java(网关模块 必须)
SystemServiceApplication.java(系统模块 必须,不启动无法登录)

其他模块可根据需求,自行决定启动

5.1 启动Eurake项目

  1. 找到factory/studio/eureka/src/main/java/cn/datax/eureka/DataxEurekaApplication.java 运行启动

  2. 浏览器访问 http://localhost:8610/,看到以下页面表示启动成功

5.2 启动Config项目

  1. 修改bootstrap.yml文件,本地运行时eureka配置处,改成localhost
  2. 找到factory/studio/config/src/main/java/cn/datax/config/DataxConfigApplication.java,运行启动

5.3 启动Gateway项目

  1. 修改bootstrap.yml文件,本地运行时eureka配置处,改成localhost

  2. 找到factory/studio/gateway/src/main/java/cn/datax/gateway/DataxGatewayApplication.java,启动项目

  3. 启动完后,可以在Eureka中发现刚才启动的服务

5.4 启动SystemService项目,本地运行时eureka配置处,改成localhost。及其他项目同理。

4.2 前端运行

cd alldata/studio/micro-ui
npm run dev

启动成功,会自动弹出浏览器登录页

注意目前视频能看到的功能都已开源,若发现“数据集成”菜单没有.

可只导入factory/studio/install/sql下的studio.sql + studio-v0.x.x + 数据集成。

其他菜单若发现没有的话,也可自行配置,具体参考 alldatacenter#489

4.3 启动SystemService项目,本地运行时eureka配置处,改成localhost。及其他项目同理。

系统管理 - system-service-parent ~ system-service ~ SystemServiceApplication
数据集成 - service-data-dts-parent ~ service-data-dts ~ DataDtsServiceApplication
元数据管理 - data-metadata-service-parent ~ data-metadata-service ~ DataxMetadataApplication
元数据管理 - data-metadata-service-parent ~ data-metadata-service-console ~ DataxConsoleApplication
数据标准 - data-standard-service-parent ~ data-standard-service ~ DataxStandardApplication
数据质量 - data-quality-service-parent ~ data-quality-service ~ DataxQualityApplication
数据资产 - data-masterdata-service-parent ~ data-masterdata-service ~ DataxMasterdataApplication
数据市场 - data-market-service-parent ~ data-market-service ~ DataxMarketApplication
数据市场 - data-market-service-parent ~ data-market-service-integration ~ DataxIntegrationApplication
数据市场 - data-market-service-parent ~ data-market-service-mapping ~ DataxMappingApplication
数据对比 - data-compare-service-parent ~ data-compare-service ~ DataCompareApplication
BI报表 - data-visual-service-parent ~ data-visual-service ~ DataxVisualApplication
流程编排 - workflow-service-parent ~ workflow-service ~ DataxWorkflowApplication
系统监控 - system-service-parent ~ system-service ~ SystemServiceApplication
批量/定时任务 - quartz-service-parent ~ quartz-service ~ DataxQuartzApplication
代码生成 - codegen-service-parent ~ codegen-service ~ DataxCodeGenApplication
邮件服务 - email-service-parent ~ email-service ~ DataxMailApplication
文件服务 - file-service-parent ~ file-service ~ DataxFileApplication

5、服务器集群部署

16gmaster port ip
system-service 8000 16gmaster
data-market-service 8822 16gmaster
service-data-integration 8824 16gmaster
data-metadata-service 8820 16gmaster
data-system-service 8810 16gmaster
service-data-dts 9536 16gmaster
config 8611 16gmaster
16gslave port ip
eureka 8610 16gslave
service-workflow 8814 16gslave
data-metadata-service-console 8821 16gslave
service-data-mapping 8823 16gslave
data-masterdata-service 8828 16gslave
data-quality-service 8826 16gslave
16gdata port ip
data-standard-service 8825 16gdata
data-visual-service 8827 16gdata
email-service 8812 16gdata
file-service 8811 16gdata
quartz-service 8813 16gdata
gateway 9538 16gslave

6、部署方式

数据库版本为 mysql5.7 及以上版本

1、studio数据库初始化

1.1 source install/sql/studio.sql 1.2 source install/sql/studio-v0.x.x.sql 1.3 导入BI sql, 参考alldata/bi_quickstart.md

2、修改 config 配置中心

config 文件夹下的配置文件, 修改 redis, mysqlrabbitmq 的配置信息

3、项目根目录下执行

1、缺失aspose-words,要手动安装到本地仓库
2、cd alldata/studio/common
3、安装命令:windows使用git bash执行, mac直接执行以下命令
4、mvn install:install-file -Dfile=aspose-words-20.3.jar -DgroupId=com.aspose -DartifactId=aspose-words -Dversion=20.3 -Dpackaging=jar
5、安装成功重新刷新依赖,重新打包

cd alldata/studio/common mvn install:install-file -Dfile=/alldata/studio/common/aspose-words-20.3.jar -DgroupId=com.aspose -DartifactId=aspose-words -Dversion=20.3 -Dpackaging=jar mvn clean install -DskipTests && mvn clean package -DskipTests 获取安装包build/studio-release-0.4.x.tar.gz

上传服务器解压

4、部署stuido[后端]

单节点启动[All In One]

1、启动eureka on 16gslave

2、启动config on 16gmaster

3、启动gateway on 16gdata

4、启动其他Jar

5、三节点启动[16gmaster, 16gslave, 16gdata]

  1. 单独启动 eureka on 16gslave

  2. 单独启动config on 16gmaster

  3. 单独启动gateway on 16gdata

  4. 启动16gslave, sh start16gslave.sh

  5. 启动16gdata, sh start16gdata.sh

  6. 启动16gmaster, sh start16gmaster.sh

6、部署studio[前端]:

前端部署

安装依赖

依次安装: nvm install v10.15.3 && nvm use v10.15.3

npm install -g @vue/cli

npm install script-loader

npm install jsonlint

npm install vue2-jsoneditor

npm install

npm run build:prod [生产]

生产环境启动前端micro-ui项目, 需要[配置nginx]

# For more information on configuration, see:
#   * Official English Documentation: http://nginx.org/en/docs/
#   * Official Russian Documentation: http://nginx.org/ru/docs/

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
worker_connections 1024;
}

http {
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  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;
    server {
		listen       80;
		server_name  16gmaster;	
		add_header Access-Control-Allow-Origin *;
		add_header Access-Control-Allow-Headers X-Requested-With;
		add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
		location / {
			root /studio/micro-ui/dist;
			index index.html;
			try_files $uri $uri/ /index.html;
		}
		location /api/ {
			proxy_pass  http://16gdata:9538/;
			proxy_set_header Host $proxy_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		}
	}
}

测试环境启动前端micro-ui项目

npm run dev [测试]

访问studio页面

curl http://localhost:8013

用户名:admin 密码:123456

7、数据集成配置教程

先找到用户管理-菜单管理, 新增【数据集成】目录

新增【数据集成】下面的菜单, 菜单各项按如下配置输入, 之后进入角色管理

配置admin账号的目录数据权限, 选中刚才新增的数据集成目录及里面的菜单, 刷新或重新登录即可访问【数据集成】


image



image



image


8、常见问题

前置 -
1、启动前是删除了pom.xml;
2、本地是V16版本的nodejs;

运行 -
1、启动后端相关服务;
2、启动前端npm run dev,报错:
multi ./node modules/.pnpm/webpack-dev-server3.1.3 webpack04.28.4/node modules/webpack-dev-server/clienthtp://192.168.0.118:8013/sockjs-node(webpack)/hot/dev-server.js ./src/main.js
Module not found: Error: Can't resolvebabel-loader'in D: workspaceldatacenter workspacelscit-datacenter-ui

原因 -
前端UI对应nodejs版本是v10.15.3 , 需要切换版本,为开发方便,一遍采用nvm进行管理
1、卸载nodejs;
2、安装nvm - https://www.jianshu.com/p/13c0b3ca7c71
3、安装v10.15.3版本: nvm install v10.15.3
4、根据实际切换版本:nvm use v10.15.3
5、安装依赖:npm install
6、启动前端:npm run dev
前置 -
1、数据集成教程

运行 -
1、数据集成教程

原因 -
1、教程
https://github.com/alldatacenter/alldata/blob/master/studio/modules/service-data-dts-parent/DTS_QuickStart.md

前置 -
1、数据集成教程

运行 -
1、数据集成教程

原因 -
1、教程
2、依赖datax,安装datax: https://blog.csdn.net/qq_18896247/article/details/123127487
3、https://github.com/alldatacenter/alldata/blob/master/studio/modules/service-data-dts-parent/DTS_QuickStart.md

前置 -
1、元数据数据库文档下载

运行 -
1、元数据数据库文档下载,依赖报错

原因 -
1、缺失aspose-words,要手动安装到本地仓库
2、cd alldata/studio/common
3、安装命令:windows使用git bash执行, mac直接执行以下命令
4、mvn install:install-file -Dfile=aspose-words-20.3.jar -DgroupId=com.aspose -DartifactId=aspose-words -Dversion=20.3 -Dpackaging=jar
5、安装成功重新刷新依赖,重新打包