最近公司重整架构,十几台服务器而且还要尽可能节约成本。我就谷歌了一下在几种集群之前进行比较最终采用了Keepalived+Nginx做负债均衡高可用。虽然之前也研究过集群,看过很多集群方面的原理和架构,但毕竟没有真正操作过以下案例是在虚拟机中完成实验其实对于高可用搭建来说只用给出Keepalived和Nginx的配置即可后面的一些安装搭建完全是本人项目需要可以不用理睬仅供参考。
本文只是实验搭建记录方便以后在服务器中实施搭建。
架构图如下
前提介绍本案例采用Centos7+Keepalived1.3.5+Tomcat9+Mysql5.6+Redis3.2.8+Rabbitmq3.6.10
一、集群搭建DR模式
前端LVS采用主从模式,Nginx为后端realserver负债均衡。
服务器环境如下
nginx+LVS_master | 192.168.23.14 |
nginx+LVS_backup | 192.168.23.15 |
VIP | 192.168.23.20 |
Tomcat | 192.168.23.16 ;192.168.23.17 ;192.168.23.18 |
redis | 192.168.23.21 |
Mysql | 192.168.23.22 |
1、安装前调试以及优化
-
安装centos7选择默认最小化
-
停止firewalld运行
-
内核优化vi/etc/sysctl.conf
-
防火墙安装iptables
-
修改selinux
-
重启
2、安装master和backup
-
安装前准备
运行ipvsadm
查看内核模块是否存在
-
建立data目录
-
下载安装
-
复制keepalived文件和脚本
-
配置lvs网卡设置下的vip
-
重启网卡
-
设置开启启动
-
设置master /etc/keepalived/文件
-
设置backup /etc/keepalived/文件
-
nginx监控脚本
-
sleep 1h 设置每小时发送一次while ture执行正确为止后退出使用后台运行
-
附mail设置
-
安装mail
-
设置mail文件
3、nginx编译安装
-
安装依赖包
-
创建nginx用户
-
安装Pcre
-
下载 wget http://www.pcre.org/pcre-8.41.tar.gz
-
安装openssl
-
下载安装
-
安装zlib
-
下载安装
-
创建目录
-
安装nginx
-
下载安装
-
配置realserver回环口下的的vip
-
配置nginx
-
实现静动分离和负债均衡
注俩台nginx配置一样
-
nginx启动脚本自行谷歌
-
启动nginx
Nginx安装完成
4、后端web服务器Tomcat安装
-
jdk安装
安装前准备
检查命令
卸载
解压安装
移动目录
最后再删除安装文件
配置环境变量
加载变量
-
tomcat安装
解压
解压完整后删除安装包
移动目录
首先我们来配置一下tomcat的环境变量和内存设置进入tomcat的bin目录后通过vim命令打开catalina.sh文件并在其中加入如下配置>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
xms:初始化内存。
xmx:最大内存,一般为物理机的1/4。(和xms一样为了防止内存溢出)
xmn:tomcat最小内存,一般为xmn的一半的值。
server.xml优化配置 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
maxThreads:tomcat最大线程组。
minSpareThreads:tomcat初始线程值。
maxSpareThreads:tomcat空闲线程,超过这个线程将关闭无用线程值。
acceptCount:当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
启动
5、mysql安装配置
-
安装前准备
查看是否有mysql的rpm包
查看是否有mariadb-libs的rpm包
-
解压文件
编译安装
-
建立用户和组
给权限
mysql下的初始化
拷贝配置文件my.cnf
-
配置mysql
-
添加变量
添加开机启动
启动mysql
查看端口
编辑etc下的my.cnf文件
设置mysql密码
六、redis安装
-
解压安装
-
执行完进入目录/usr/local/redis
建立文件夹并拷贝
-
编辑配置文件vim/etc/redis/6379.conf
-
启动redis
七、rabbitmq安装
-
安装前准备
-
解压 zlang
编译安装
-
安装rtabbitmq
移动位置
启动rabbitmq
停止
查看程序和端口运行状态
添加账户并设置为管理员
删除默认用户guest
查看设置用户是否存在
二、测试集群
-
在界面打开浏览器测试访问192.168.23.20如下
期间不断的刷新会出现不同的后端web页面。
-
关闭master测试访问正常backup接替工作
systemctl stop keepalived