SharkData安装手册

本文遵循BY-SA版权协议,转载请附上原文出处链接。


本文作者: 黑伴白

本文链接: http://heibanbai.com.cn/posts/d633bbed/

技术架构

image-20221011105552902

SharkData的基础框架组件

  • 网关服务

  • 认证中间

  • 注册中心

  • 配置中心

SharkData的核心组件

  • 管理服务
  • 公共服务、
  • SharkRule服务(元数据 服务、数据标准服务、数据质量服务)
  • SharkBuilder服务(数据开发服务、开 发测试服务)
  • SharkInsight服务(API服务网关、批量数据发布订阅服务)
  • SharkOps服务(运维监控服务)
  • MoiaControl服务(调度服务、执行服务)

SharkData的第三方组件

  • 反向代理服务
  • 缓存组件
  • 消息中间件
  • 产 品资料库

安装部署单元

SharkData的安装部署需要安装部署多个单元,以下部署单元都为逻辑单元,非必须需要物理独立安装。

SharkData应用套件:包括必要的的基础框架组件, 以及根据采购的产品功 能组件清单组成的应用服务套件。其中部分需要独立安装部署,包括 SharkBuilder的测试执行服务,SharkInsight的API服务网关, MoiaControl的执 行集群,以及执行集群节点上需安装部署对应的SharkData后台公共组件。

反向代理服务:指定使用Nginx代理服务。

产品资料库:关系型数据库, 存放SharkData运行使用的参数配置数据及用 户的开发配置数据。

缓存组件:存放产品应用服务使用的缓存数据, 主要存放如数据架构等公共 配置信息等用于产品多应用服务之间信息同步,建议使用Redis。

消息中间件:产品应用服务使用的消息队列, 主要用于产品多应用服务之间 信息通讯,建议使用RabbitMQ。

配置建议

产品配置建议

名称 数量 CPU 内存 磁盘空间
应用服务器 2 16C 32G 100G
代理服务器 2 2C 8G 10G
共享文件存储NAS 数据量*1.5
执行服务器 按需

第三方依赖组件配置建议

名称 数量 CPU 内存 磁盘空间
MySQL资料库 2 16C 64G 100G
Redis 6 4C 16G 50G
RabbitMQ 3 4C 16G 50G

说明:第三方依赖组件可根据用户现有情况进行配置,如已有相应环境,可以直接使用

服务及端口

服务名称 英文名称 端口号
注册中心、配置中心 base-cloud-server 54100
网关服务、认证服务 api-gateway-dynamic 54101
用户服务、消息服务 base-cloud-user-service 54102
架构、公共、服务中心 base-cloud-common-service 54103
元数管理据服务 dgmp-metadata-service 54111
数据标准管理服务 dgmp-standard-service 54112
数据质量管理服务 dgmp-quality-service 54113
数据资产服务 dgmp-asset-service 54114
开发平台 WEB 服务 shark-builder-service 54120
数据运维服务 sharkops-service 54130
数据服务 WEB 服务 insight-dspm-service 54140
数据查询服务 insight-api-query-service 54142
调度 WEB 服务 moia_control_web_service 54150
调度 API 服务 moia_control_api_service 54151
调度核心服务 moia_control_server 54152
文件扫描服务 moia_control_file_scan_service 54157
调度作业执行服务 moia_control_job_execute_service 54158

中间件安装

Redis安装

Redis自行进行安装,可参考:

Redis主动哨兵模式搭建 - 黑伴白 (heibanbai.com.cn)

Nginx安装

Nginx自行进行安装,可参考:

Nginx安装与配置 - 黑伴白 (heibanbai.com.cn)

RabbitMQ安装

RabbitMQ自行进行安装,可参考:

RabbitMQ集群搭建 - 黑伴白 (heibanbai.com.cn)

应用服务安装

集群环境

以两台服务器组成集群为例:

  • Server1:199.188.166.111
  • Server2:199.188.166.112

安装准备

server1和server2服务器分别操作

将安装包上传至服务器并解压:tar -zxvf SharkDataServer.1.0.1.tar.gz

Server1安装

进入199.188.166.111服务器,在SharkData-Server.1.0.1/conf安装目录进行如下操作

修改config-base.yml配置

修改1消息中间件信息

image-20220930085329043

image-20220930085514043

RabbitMQ配置说明:

  • addresses:将集群中所有节点均进行配置ip:port,ip:port,ip:port格式
  • username:集群用户
  • password:集群密码
  • virtual-host:虚拟主机(为不同应用单独创建,这样可以不同应用使用同一套集群,起到隔离作用)
  • 其他保持默认即可

修改2数据源配置

根据资料库类型配置相应信息即可

image-20220930085835741

修改3Redis配置

image-20220930090000459

Redis配置说明:

  • 图中是默认集群配置方式,将集群所有节点均进行配置
  • 如果Redis是哨兵模式(一般生产均使用此模式),则配置方式如下
1
2
3
4
5
6
redis:
sentinel:
master: mymaster
nodes: 199.188.166.111:26379,199.188.166.112:26379,199.188.166.113:26379 #配置所有的哨兵节点
password: 123456
database: 0 # 指定database,不同应用共用redis集群指定不同database即可

修改bootstrap-server.yml配置

1
2
cd /home/moiasrv/MoiaControlServer/conf
vi bootstrap-server_sample.yml

image-20220930093905699

配置修改说明:

修改bootstrap-common.yml配置

1
2
cd /home/moiasrv/MoiaControlServer/conf
vi bootstrap-common_sample.yml

image-20220930094055850

配置修改说明:

安装应用并启动

执行sh install.sh完成server1应用的安装和服务起动

1
2
cd bin
sh install.sh

Server2安装

修改config-base.yml配置

参考Server1部署时配置修改

修改bootstrap-server.yml配置

参考Server1部署时配置修改

修改bootstrap-common.yml配置

参考Server1部署时配置修改

执行安装

Server1 执行过install.sh命令,则Server2 不需要执行此命令。执行执行启动命令即可

1
2
cd bin
sh startup.sh

执行节点安装

节点安装

解压介质

1
2
cd /home/moiaagt
tar -zxvf MoiaControlAgent.tar.gz

修改bootstrap.yml配置

1
2
cd /home/moiaagt/MoiaControlAgent
vi bootstrap.yml

image-20220930100733559

配置修改说明:

port:执行节点启动监听端口,一般使用默认值

name:执行节点名称,不同执行节点的名称不能相同

uri:集群所有server信息,例如:http://199.188.166.111:8761/,http://199.188.166.112:8761/

ip-address:填写正确的ip地址(执行节点ip地址)

defaultZone:调度服务的eureka发布地址。(集群所有server信息,例如:http://199.188.166.111:8761/eureka/,http://199.188.166.112:8761/eureka/)

app-name:执行节点所安装的应用名称,一般使用默认值

执行安装

配置修改确认无误之后,进入目录MoiaControlAgent/bin,执行命令:sh start.sh,执行命令后,执行节点服务被启动,并且自动注册到调度服务,如果注册失

败,将自动退出服务。

可进入logs目录查看日志,确认服务是否启动。具体方式:打开日志文件JobExecuteService.log,查看具体日志信息。

1
2
cd /home/moiaagt/MoiaControlAgent/bin
sh start.sh

后台组件安装

数据开发后台组件安装包: Didp_Component_Package_TRUNK_V_2_0_0.tgz

  • 上传至安装节点服务器,并解压
1
tar xzvf Didp_Component_Package_TRUNK_V_2_0_0.tgz
  • 修改并配置setenv文件

    打开上一步解压后目录中的setenv文件进行修改

    在用户的.bash_profile中配置生效setenv文件的语句

    vi ~/.bash_profile

    添加以下语句:

    source /xxx/xxx/Didp/setenv(xxx为实际环境目录)

    image-20221012100048373

  • 建立so链接

    1
    2
    3
    cd /xxx/xxx/Didp/lib
    ln -sf libxerces-c.so.28.0 libxerces-c.so.28
    ln -sf libxerces-c.so.28.0 libxerces-c.so
  • python第三方模块包目录建立链接

    /xxx/xxx/Didp/lib/目录下有多个版本的模块包目录,根据当前操作系统建立链接,命令如下:

    ln -sf python_modules_xxxxx python_modules

  • 修改/xxx/xxx/Didp/etc/arch_service.cfg,箭头位置修改为实际功能中心ip地址

    image-20221012100355487

  • 执行权限检查

    部分环境中,$DIDP_HOME/bin目录的执行权限可能出现缺失,使用前先进入bin目录检查下此目录下所有文件是否都有可执行权限,如果没有可以使用 chmod +x xxx 的命令增加可执行权限,有执行权限则忽略此步

  • 生效.bash_profile并重启moia执行节点

    . ~/.bash_profile

    Moia执行节点重启步骤:

    进入到执行节点安装目录的bin目录中

    sh stop.sh

    sh start.sh

测试服务安装

数据测试服务安装包: DidpTestService_V1_0_0.tgz

  • 上传安装到服务器并解压
1
tar xzvf DidpTestService_V1_0_0.tgz
  • 修改配置文件

    vi打开编辑解压目录中的config/application.yml

    image-20221012100658018

  • 启动和停止测试服务

1
2
3
sh start.sh DidpTestService-1.0.jar

sh stop.sh

数据管控后台组件安装

采集组件

1
2
3
4
5
6
7
8
9
10
cd /xxx/server/sharkGovernanceBack/metac

# 修改redis,rabbitmq,数据源连接信息
vi classes/config.properties

# 运行脚本授权
chmod -R 777 /bin/metac
# 测试
sh metac -t a -d 20211111 -u admin -appId 1
# 查看日志中无数据库、redis配置异常

image-20221012101116180

检核组件

1
2
3
4
5
6
7
cd /xxx/server/sharkGovernanceBack/check

# 修改rabbitmq,数据源连接信息
vi classes/config.properties

# 运行脚本授权
chmod -R 777 /bin/check

image-20221012101151187

Web安装

解压介质

1
2
cd /home/nginx/sharkdataweb
tar -zxvf SharkData-Web.1.0.1.tar.gz

修改配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
[nginx@node1 conf]$ cat nginx.conf
# 注意要指定用户,否则可能导致权限问题错误
user nginx;
worker_processes 1;

# 打开error_log
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
# 记录pid打开
pid logs/nginx.pid;


events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;
# 此部分注释打开
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;

# 可以单独将server块的信息创建一个文件,通过include加载
# include /home/nginx/moia.conf/*.conf
server {
listen 8888;
listen [::]8888;
# nginx服务器的ip地址
server_name 199.188.166.111;
# 配置通过web上传时文件的一些限制
client_header_buffer_size 2m;
large_client_header_buffers 4 200m;
client_max_body_size 20m;

#charset koi8-r;

#access_log logs/host.access.log main;
# 添加如下属性
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";

location / {
root /home/nginx/sharkdata/web;
index index.html index.htm;
try_files $uri /index.html;
}
location /base {
alias /home/nginx/sharkdata/web/base;
try_files $uri $uri/ /index.html;
}
location /dgmp {
alias /home/nginx/sharkdata/web/dgmp;
try_files $uri $uri/ /index.html;
}
location /didp {
alias /home/nginx/sharkdata/web/didp;
try_files $uri $uri/ /index.html;
}
location /sharkata {
alias /home/nginx/sharkdata/web/sharkata;
try_files $uri $uri/ /index.html;
}
location /moia {
alias /home/nginx/sharkdata/web/moia;
try_files $uri $uri/ /index.html;
}
location /insight {
alias /home/nginx/sharkdata/web/moia;
try_files $uri $uri/ /index.html;
}
location /api/ {
proxy_pass http://127.0.0.1:2005/;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}

}

蚂蚁🐜再小也是肉🥩!


SharkData安装手册
http://heibanbai.com.cn/posts/d633bbed/
作者
黑伴白
发布于
2022年10月11日
许可协议

“您的支持,我的动力!觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付