haproxy + keepalived 实现高可用负载均衡集群
1. 首先准备两台tomcat机器,作为集群的单点server。
第一台:
1)tomcat,需要Java的支持,所以同样要安装Java环境。
安装非常简单。
tar xf jdk-7u65-linux-x64.tar.gz
mv jdk1.7.0_65 /usr/local/java
然后在环境变量中加入Java的运行路径
vim /etc/profile
JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
修改后,source /etc/profile, 使变量生效
我们可以测试一下 java-version
出现Java版本信息,信息会随着系统的版本不同,以下为centos 7
openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b12) OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)
2)安装Tomcat
tar xfv apache-tomcat-7.0.54.tar.gz
mv apache-tomcat-7.0.54 /usr/local/tomcat
找到tomcat的启动文件 /usr/local/tomcat/bin/startup.sh
关闭文件 /usr/local/tomcat/bin/shutdown.sh
启动后可用 netstat -anpt|grep 8080是否为Java占用,正常。
tcp6 0 0 :::8080 :::* LISTEN 1990/java
同时我也可以查看日志情况,tail -f /var/log/tomcat7/catalina.out catalina.out 为日志文件
3)我们要搭建一个测试环境
cd /usr/local/tomcat7/conf找到server.xml 文件,修改前做备份,cp server.xml server.xml.bak
主要Host 同时对context项,进行修改,把 docBase改为要测试的页面的目录,可为相对目录,也可为绝对目录。
本例中我们用一个jsp编写的一个项目做实验,修改为SLSaleSystem,保存退出
将项目解压至tomcat的网页存放目录webapps 下。tar xvf SLSaleSystem.tar.gz /usr/local/tomcat7/webapps/
重启服务
/usr/local/tomcat7/bin/shutdown.sh
/usr/local/tomcat7/bin/startup.sh
打开浏览器,输入tomcat的ip,测试一下,出现登录界面,tomcat搭建完成
第二台tomcat,配置同第一台一样
2.安装两台haproxy+keepalived服务器
1)安装haproxy
yum -y install haproxy
修改前做备份
cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
vim /etc/haproxy/haproxy.cfg
在最后添加
listen web_tomcat 0.0.0.0:80 定义一个服务器组,监听所有端口的80
#option httpchk GET /index.html
balance roundrobin
server web_tomcat_1 172.16.1.2:80 check inter 2000 rise 2 fall 3 weight 1 加两台服务器
server web_tomcat_2 172.16.1.12:80 check inter 2000 rise 2 fall 3 weight 1
为了便于日志管理,将日志独立定义到haproxy.conf ,并放到/etc/rsyslog.d 下
先在 /etc/haproxy/haproxy.conf中加
log /dev/log local0 info
log /dev/log local0 notice 定义这两类信息,要记录到日志文件中
再创建/etc/rsyslog.d/haproxy.conf 文件
if ($programname == 'haproxy' and $syslogseverity-text =='info') then 意思为如果程序名为haproxy并且日志验证文本为 info和notice分别记录到haproxy-info.log和haproxy-notice.log文件
-/var/log/haproxy/haproxy-info.log
&~
if ($programname == 'haproxy' and $syslogseverity-text =='notice') then
-/var/log/haproxy/haproxy-notice.log
&~
重启日志服务/etc/init.d/rsyslog restart
创建这两个文件
touch haproxy-info.log
touch haproxy-notice.logfo.log
打开浏览器http://haproxy主机ip,能显示
2).安装keepalived
我们选择用yum -y install keepalived
添加为开机启动 chkconfig keepalived on
修改配置文件
cd /etc/keepalived/
cp keepalived.conf keepalived.conf.bak
vim keepalived.conf
vrrp_instance VI_1 {
#备用服务器上为 BACKUP
state BACKUP
#绑定vip的网卡为ens33
interface ens33
virtual_router_id 51
#备用服务器上为90
priority 90
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
}
virtual_ipaddress {
172.16.1.200
}
}
3)第二台配置同第一台,不同的是keepalived.conf 文件中从priority 为90
3,高可用测试
模拟停止 nginx1服务,用ip a 查看网卡信息,发现VIP已转移到nginx2上。
service nginx stop
ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:a7:c0:25 brd ff:ff:ff:ff:ff:ff inet 192.168.1.2/24 brd 192.168.1.255 scope global ens33 valid_lft forever preferred_lft forever inet 172.16.1.200/32 scope global ens33 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fea7:c025/64 scope link valid_lft forever preferred_lft forever
同时打开浏览器,查看,服务正常。
haproxy + keepalived 实现高可用负载均衡集群的更多相关文章
- 基于Haproxy+Keepalived构建高可用负载均衡集群
实验环境: 主机名 IP地址 VIP 192.168.200.254 Haproxy-1 192.168.200.101 Haproxy-2 192.168.200.102 Nginx1 192.16 ...
- Haproxy+Keepalived构建高可用负载均衡集群
实验环境: 主机名 IP地址 VIP 192.168.200.254 Haproxy-1 192.168.200.101 Haproxy-2 192.168.200.102 Nginx1 192.16 ...
- Linux 笔记 - 第十八章 Linux 集群之(三)Keepalived+LVS 高可用负载均衡集群
一.前言 前两节分别介绍了 Linux 的高可用集群和负载均衡集群,也可以将这两者相结合,即 Keepalived+LVS 组成的高可用负载均衡集群,Keepalived 加入到 LVS 中的原因有以 ...
- LVS+Keepalived 实现高可用负载均衡集群
LVS+Keepalived 实现高可用负载均衡集群 随着网站业务量的增长,网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如 F5 ,Array又太贵,你们又是创业型互联公司如何有效 ...
- Keepalived+LVS高可用负载均衡集群
概述 Keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover)和健康检查(HeathChecking)功能——判断LVS负载调度器.节点服务器的可用性,及 ...
- Nginx+Keepalived搭建高可用负载均衡集群
本文的重点是Keepalived的配置,Nginx的配置就简略带过.软件:CentOS 7.2 / Nginx 1.12.2 / Keepalived 1.3.9 ha-01:192.168.1.97 ...
- Haproxy+Keepalived搭建Weblogic高可用负载均衡集群
配置环境说明: KVM虚拟机配置 用途 数量 IP地址 机器名 虚拟IP地址 硬件 内存3G 系统盘20G cpu 4核 Haproxy keepalived 2台 192.168.1.10 192 ...
- Dubbo入门到精通学习笔记(二十):MyCat在MySQL主从复制的基础上实现读写分离、MyCat 集群部署(HAProxy + MyCat)、MyCat 高可用负载均衡集群Keepalived
文章目录 MyCat在MySQL主从复制的基础上实现读写分离 一.环境 二.依赖课程 三.MyCat 介绍 ( MyCat 官网:http://mycat.org.cn/ ) 四.MyCat 的安装 ...
- haproxy+keepalived实现高可用负载均衡
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HA ...
随机推荐
- Windows资源管理器对物理内存的描述
对每个进程的虚拟/物理内存使用描述: 1.硬错误/秒:在最后一分钟内每秒出现的平均硬页错误数 2.提交(KB):操作系统为内存保留的虚拟内存量,任务管理器中显示为:提交大小 3.工作集(KB):进程当 ...
- 1.windows下GIT 服务安装
本章介绍简单在windows 安装git 服务方法.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配置,简单易用. ...
- Linux文件寻址算法:逻辑地址到物理地址的转换
题目描述: 编写一个函数实现Linux文件寻址的算法,即读取文件当前位置到物理存储位置的转换函数,需要给出运行的测试数据,可以假设和模拟需要的数据和结构.即编写一个函数unsigned long lt ...
- 深入JDK源码,这里总有你不知道的知识点!
Java的基础知识有很多,但是我认为最基础的知识应该要属jdk的基础代码,jdk的基础代码里面,有分了很多基础模块,其中又属jdk包下面的lang包最为基础. 我们下面将总结和分析一下lang包下面最 ...
- php文件编程
一:文件常见操作 流的概念:当数据从程序(内存)->文件(磁盘),我们称为输出流,当数据从文件(磁盘)->程序(内存),我们称为输入流 1,获取文件信息 <?php //打开文件 f ...
- SpringMvc-自定义视图
1.创建视图: 注意:创建视图的时候需要实现View接口的俩个方法 package com.atguigu.springmvc.views; import java.util.Date; import ...
- March 31 2017 Week 13 Friday
Sometimes, you think the sky is falling down, actually, that is just because you stand slanting. 有时候 ...
- 如何在Kubernetes里给PostgreSQL创建secret
创建一个initdb.sql文件,输入如下内容: -- This is a postgres initialization script for the postgres container. -- ...
- 线段tree~讲解+例题
最近学习了线段树这一重要的数据结构,有些许感触.所以写一篇博客来解释一下线段树,既是对自己学习成果的检验,也希望可以给刚入门线段树的同学们一点点建议. 首先声明一点,本人是个蒟蒻,如果在博客中有什么不 ...
- 【luoguP1219】【USACO】八皇后
P1219 八皇后 题目描述 检查一个如下的6 x 6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行.每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子. 上面的布局可以用序 ...