Linux 系统自动化部署集群

  • 文档创建者:疏影横斜
  • 编辑次数:18次
  • 最近更新:Roxy 于 2020-08-24
  • 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-deployment-master%4094f6538e519.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

    端口:7379

    启动路径:/usr/local/redis/bin

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

    密码:admin123456

    注:/usr/fine下面的是一些源码包依赖,会在系统目录/usr/local 下自动生成启动工具和配置文件。

    启动:./redis-server  /usr/local/redis/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

    1586917771852648.png

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

    6.2 部署路径冲突

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

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

    1568631262396018.png

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

    可按住Ctrl键进行删除。

    1568631290200652.png

    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!