历史版本14 :Linux 系统自动化部署集群 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

自动化部署工具可以实现一键部署工程或组件,并且可使用通用配置、选择开机自启动等,但部署完毕后仍须在平台上手动配置外接数据库,配置集群。

2. 前置环境编辑

2.1 准备工具

分类工具版本
版本2020-04-26
工具下载

下载请点击:自动化部署工具  


运行环境

CentOS、Redhat
可部署应用Web 容器

Tomcat(内置 JDK、FineReport10.0 2020-04-26)

负载均衡Nginx-1.15.6(附带 openssl-1.1.1a、pcre-8.42、zlib-1.2.11、ngx_healthcheck_module )
状态服务器Redis-5.0.4

文件服务器

vsftpd-2.2.2-27.1.x86_64( RedHat6.x&CentOS6.x 环境默认使用版本)

vsftpd-3.0.222.el7.x86_64.rpm( RedHat7.x&CentOS7.x 环境默认使用版本)

2.2 配置环境

部署集群之前,请确保已准备好集群工程所需的环境:环境准备

环境检测:环境检测工具

3. 操作步骤编辑

3.1 启动工具

1)下载工具到服务器,将压缩包传至 /opt 目录下,并进行解压,即可使用工具进行部署。

cd /opt #进入到opt目录下
unzip cluster-check-2.0-SNAPSHOT.zip #解压工具包到当前目录
cd /opt/Fine-cluster   #进入部署工具目录
chmod +x deploy.sh #给部署工具赋予可执行权限
./deploy.sh #启动部署工具

操作步骤示例:

1587984228646900.png

2)执行后,看到上图的步骤,说明已经启动成功。

3)进行选择语言环节,请根据系统语言环境选择语言,选择中文输入1,选择英文输入2,然后按 Ehter 键确认。

3.2 部署工程

注意:部署集群时要求一个工程通过平台配置开启集群成功后,再拷贝此工程到其他节点,因此部署工程的部署只在一个服务器上操作即可。

1)请根据需要选择部署的组件 Tomcat、Nginx、Redis 、Vsftp ,输入 y 或者按 Enter 键确认,如果输入 n 意味着选择退出该项目的部署,如下图所示:

1587881123484250.png

2)确认部署后,会进入端口和路径自定义步骤,可以输入自定义值来进行自定义,若并不需要自定义,可以输入 Enter 键使用默认值并进入下一步,如下图所示:

操作步骤示例:

1587881462251889.png

3)在部署完 Tomcat 后,可为其配置 JVMJVM默认为2048M, 手动输入后,自动在 Tomcat 的 catalina.sh中增加 JAVA_OPTS="$JAVA_OPTS -Xms#输入值#M -Xmx#输入值#M",如下图所示:

1587881636910787.png

4)当一个项目部署完毕后,工具会提示是否要部署其他项,需要部署则输入y 确认,不部署退出工具则输入 n 或按Enter 键。

操作步骤示例:

1587881748773066.png

3.3 部署Nginx

1)请根据需要选择部署 Nginx,输入y 或者按Enter 键确认,如果输入n 意味着选择退出该项目的部署,如下图所示:

1587881938723319.png

2)确认部署后工具会检测 GCC 环境,检测完毕后进入端口和路径自定义步骤,操作步骤略,和 Tomcat 基本一样。

  • 若用户的系统版本属于(Redhat6\Centos6\Redhat7\Centos7),直接安装匹配客户系统预先编译好的 Nginx、Redis 二进制包(Nginx 的二进制文件包含主动健康检查模块和 SSL 模块)

  • 若客户的系统版本不属于上面的 4 个大版本,则提示用户自行安装 GCC ,并退出安装。

注:本例使用 Centos7 来做介绍。

操作步骤示例:

1587882442967181.png

3)安装完毕后,输入 Nginx 要负载的应用 IP:端口 可自动写入配置文件 nginx.conf,选择是否继续部署其他组件或者退出,输入 y 继续部署,输入 n 或按 Enter 退出。如下图所示:

1587882730957168.png

3.4 部署Redis

注:若用户的系统版本属于(Redhat6\Centos6\Redhat7\Centos7),直接安装匹配客户系统预先编译好的 Nginx、Redis 二进制包。

1)请根据需要选择部署 Redis,需要输入y 或者按Enter键确认,如果输入n意味着选择退出该项目的部署,并确认安装位置,如下图所示:

1587883056695847.png

2)是否使用集群配置文件,选择 y 或者 n ,并选择端口号,如下图所示:

1587883424419174.png

3)是否继续添加集群配置,选择 y 或者 n,如下图所示:

1587883580917243.png

注:Redis 单机和 Redis 集群均采用 Redis-5.0.4 版本,且Redis单机和集群配置文件、Nginx 配置文件均采用帮助文档上的通用配置。

3.5 部署 vsftp

注意:vsftpd 的部署采用的是 RPM 包部署,所以无须选择路径和端口,部署完毕后会提示是否要新建 FTP 用户和密码。

1)请根据需要选择部署 vsftp,需要输入 y 或者按 Enter 键确认,如果输入 n 意味着选择退出该项目的部署。

2)可以自定义 FTP 的用户和密码,若不需要自定义,直接按 Enter 键使用默认的账号密码(账号 vsftpuser,密码 123456)

操作步骤示例:

333.png

3)部署完毕后,想要使用 vsftp,还需要拷贝 Web 工程里的 WEB-INF 文件夹到/home/vsftpuser目录下,然后给文件夹赋予读写权限。

chmod -R 777 /home/vsftpuser  #给ftpuser文件夹赋予写入权限

#如果考虑安全性,不能给777权限,可以只给755权限,命令是chmod -R 755 /home/vsftpuser,但是拷贝 WEB-INF 文件时务必使用 FTP 用户,否则会因为文件归属问题导致不能写入。

4. 平台配置集群编辑

部署完上面的组件,分别启动后,即可通过平台配置集群,配置流程:平台配置集群

注意:一个工程通过平台配置开启集群成功后,再拷贝此工程到其他节点。

5. 默认配置编辑

部署时若未对端口、路径、配置文件进行自定义,则默认使用通用配置,如下所示:

组件 默认项启停操作(均为进入启动目录操作)
Tomcat

端口:8080

路径(FR):/usr/fine/tomcat-FR-linux/bin

路径(FR):/usr/fine/tomcat-BI-linux/bin

启动:./startup.sh

停止:./shutdown.sh

( 使用shutdown一般无法完全清理完进程,可以通过ps -ef|grep tomcat查看进程,再用kill -9 进程号 杀死进程 )

注:2019-12-05及之后版本的 JAR 包可正常使用 shutdown 完全清理所有进程

工程

websocket端口:FineReport 为38888、FineBI 为48888

无,随 Tomcat 启动
Nginx

端口:80

启动路径:/usr/local/nginx/sbin

配置文件:/usr/local/nginx/conf/nginx.conf

Websocket转发端口:FineReport 为38889、FineBI 为48889

启动:./nginx

停止:./nginx -s stop

更新配置:./nginx -s reload (不会停止nginx)

Redis

端口:6379

启动路径:/usr/fine/redis-5.0.4/src/

配置文件:/usr/fine/redis-5.0.4/redis.conf

密码:admin123456

启动:./redis-server  /usr/fine/redis-5.0.4/redis.conf

停止:./redis-cli -a 密码 shutdown

vsftpd

端口:21

文件路径:/home/vsftpuser

配置文件:/etc/vsftpd/vsftpd.conf 

用户:vsftpuser

密码:123456

启动:service vsftpd start

停止:service vsftpd stop

(FTP 的启停操作为系统操作,可以在任意目录进行 )

更多运维操作:集群运维手册

6. FAQ编辑

6.1 缺少GCC

70.png

缺少 GCC 环境将导致无法正常部署 Nginx 和 Redis,联网环境可yum instal gcc-c++命令安装 GCC 环境,离线环境比较复杂,请自行安装。

6.2 部署路径冲突

路径冲突多发生在之前已部署过项目的情况,可以根据报错清理对应目录后再次部署,或者自定义目录进行部署。

例如 Redis 安装时路径冲突,清理以下红框内的目录即可。

redis路径冲突.png

6.3 部分Shell工具无法删除文字

可按住Ctrl键进行删除。

58.png