MoiaControl V6安装手册

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


本文作者: 黑伴白

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

简介

MoiaControlV6是北京先进数通信息技术股份公司自主研发的一款企业级调度产品,在业界具有良好的口碑和市场,MoiaControl定位于企业统一调度管理平台。致力于为企业的批处理作业制定统一的开发规范、运维方法,对各系统的批量作业进行统一管理、调度和监控。在多个行业积累了大量用户,拥有众多的成功案例。在产品的容错、高可用、异常处理机制等方面积累了丰富的经验.

本文主要介绍MoiaControl环境的安装部署

环境检查

服务器

Linux、Unix、windows,要求调度服务器和执行服务器系统时间一致。

软件环境

已安装并配置Java环境:JDK1.8版本

数据库

MySQL、DB2、Oracle、OpenGauss、达梦等

网络端口

服务器和客户端之间正常使用TCP/IP通讯,默认端口如下:

服务名 说明 默认端口
shark-base-server 框架基础服务,注册配置中心 8761
shark-base-gateway 框架基础服务,网关认证中心 2005
shark-base-user 框架用户服务 54100
moia-control-web web 后台服务 54150
moia-control-api 对外接口服务 54151
moia-control-server 调度核心服务 54152
moia-control-job-execute-service 执行节点服务 54158
nginx web 服务器 8099

网络访问关系:

访问方向 访问端口 协议 备注
Server —> 数据库 3306(MySQL)
26000(GaussDB)
TCP/IP 长连接 以实际为准
Server —> Agent 54158 TCP/IP 短连接
Server —> MQ 5672 TCP/IP 长连接 rabbitmq默认端口5672
Server —> Redis 6379
26379
TCP/IP 长连接 默认服务端口6379
默认哨兵端口26379
Agent —> Server 2005
8761
54152
TCP/IP 短连接
Agent —> MQ 5672 TCP/IP 长连接 通过Server获取MQ信息
rabbitmq默认端口5672
Agent —> Redis 6379
26379
TCP/IP 长连接 通过Server获取Redis信息
默认服务端口6379
默认哨兵端口26379
nginx —> Server 2005 TCP/IP 短连接
nginx —> Agent 54158 TCP/IP 短连接 如直接启停服务、在线升级之类

服务器配置

可参考下图所示

image-20220930110451663

软件准备

MoiaControl Server安装包:MoiaControlServer.tar.gz

MoiaControl Agent安装包:MoiaControlAgent.tar.gz

MoiaControl Web安装包:moiav6.zip

中间件安装

Redis安装

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

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

Nginx安装

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

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

RabbitMQ安装

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

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

服务部署

架构图

基本架构如下,可根据实际要求进行调整

image-20220930111554472

MoiaControlServer部署

Server1部署

解压介质

1
2
cd /home/moiasrv
tar -zxvf MoiaControlServer.tar.gz

修改config-base_sample.yml配置

1
2
cd /home/moiasrv/MoiaControlServer/conf
vi config-base_sample.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_sample.yml配置

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

image-20220930093905699

配置修改说明:

修改bootstrap-common_sample.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部署

解压介质

1
2
cd /home/moiasrv
tar -zxvf MoiaControlServer.tar.gz

修改config-base_sample.yml配置

参考Server1部署时配置修改

修改bootstrap-server_sample.yml配置

参考Server1部署时配置修改

修改bootstrap-common_sample.yml配置

参考Server1部署时配置修改

执行安装

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

1
2
cd /home/moiasrv/MoiaControlServer/bin
sh startup.sh

MoiaControlAgent部署

解压介质

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

MoiaControlWeb部署

Nginx安装

具体Nginx的安装可参考Nginx安装与配置 - 黑伴白 (heibanbai.com.cn)

解压介质

1
2
cd /home/nginx/moiaweb
unzip moiav6.zip

修改配置

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
cd /home/nginx/conf
vi 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 65;

gzip on;

# 多moia server时配置
upstream minio {
server 199.188.166.111:2005 weight=1;
server 199.188.166.112:2005 weight=2;
}
# 可以单独将server块的信息创建一个文件,通过include引入加载
# include /home/nginx/moia.conf/*.conf
server {
# web服务监听端口
listen 8888;
# nginx服务器ip或域名
server_name 199.188.166.113;
# 配置通过web上传时文件的一些限制
client_header_buffer_size 200m;
large_client_header_buffers 4 200m;
client_max_body_size 200m;

#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 / {
# web端部署目录
root /home/nginx/moiaweb;
index index.html index.htm;
try_files $uri /index.html;
}
# 微应用转发地址
location /moia {
alias /home/nginx/moiaweb/moia;
try_files $uri $uri/ /index.html;
}
# 后台网关地址
location /api/ {
# moia server ip 多server时配置为http://minio/
# proxy_pass http://199.188.166.111:2005/;
proxy_pass http://minio/;
proxy_set_header x-real-ip $remote_addr;
proxy_connect_timeout 600000;
proxy_read_timeout 600000;
proxy_send_timeout 600000;
}

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

}

服务启停

MoiaControlServer服务

启动服务

1
2
cd /home/moiasrv/MoiaControlServer/bin
sh startup.sh

停止服务

1
2
cd /home/moiasrv/MoiaControlServer/bin
sh shutdown.sh

MoiaControlAgent服务

启动服务

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

停止服务

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

MoiaControlWeb服务

启动服务

1
2
cd /home/nginx/sbin
./nginx

停止服务

1
2
cd /home/nginx/sbin
./nginx -s stop

重启服务

1
2
3
# 修改nginx配置后重启命令
cd /home/nginx/sbin
./nginx -s reload

附录

密码加密

安装过程中配置文件中涉及的密码都可以进行加密,避免明文存储而存在安全隐患,具体加密操作如下:

1
2
3
cd /home/moiasrv/MoiaControlServer/bin
sh encrypt.sh 明文密码
# 用加密后的密码按照如下格式替换明文密码即可:ENC(密文密码)

image-20220930105144785


蚂蚁再小也是肉🥩!


MoiaControl V6安装手册
http://heibanbai.com.cn/posts/17aad3bd/
作者
黑伴白
发布于
2022年9月29日
许可协议

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

微信二维码

微信支付

支付宝二维码

支付宝支付