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 实现高可用负载均衡集群的更多相关文章

  1. 基于Haproxy+Keepalived构建高可用负载均衡集群

    实验环境: 主机名 IP地址 VIP 192.168.200.254 Haproxy-1 192.168.200.101 Haproxy-2 192.168.200.102 Nginx1 192.16 ...

  2. Haproxy+Keepalived构建高可用负载均衡集群

    实验环境: 主机名 IP地址 VIP 192.168.200.254 Haproxy-1 192.168.200.101 Haproxy-2 192.168.200.102 Nginx1 192.16 ...

  3. Linux 笔记 - 第十八章 Linux 集群之(三)Keepalived+LVS 高可用负载均衡集群

    一.前言 前两节分别介绍了 Linux 的高可用集群和负载均衡集群,也可以将这两者相结合,即 Keepalived+LVS 组成的高可用负载均衡集群,Keepalived 加入到 LVS 中的原因有以 ...

  4. LVS+Keepalived 实现高可用负载均衡集群

    LVS+Keepalived  实现高可用负载均衡集群     随着网站业务量的增长,网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如 F5 ,Array又太贵,你们又是创业型互联公司如何有效 ...

  5. Keepalived+LVS高可用负载均衡集群

    概述 Keepalived是专门针对LVS设计的一款强大的辅助工具,主要用来提供故障切换(Failover)和健康检查(HeathChecking)功能——判断LVS负载调度器.节点服务器的可用性,及 ...

  6. Nginx+Keepalived搭建高可用负载均衡集群

    本文的重点是Keepalived的配置,Nginx的配置就简略带过.软件:CentOS 7.2 / Nginx 1.12.2 / Keepalived 1.3.9 ha-01:192.168.1.97 ...

  7. Haproxy+Keepalived搭建Weblogic高可用负载均衡集群

    配置环境说明: KVM虚拟机配置 用途 数量 IP地址 机器名 虚拟IP地址 硬件 内存3G  系统盘20G cpu 4核 Haproxy keepalived 2台 192.168.1.10 192 ...

  8. Dubbo入门到精通学习笔记(二十):MyCat在MySQL主从复制的基础上实现读写分离、MyCat 集群部署(HAProxy + MyCat)、MyCat 高可用负载均衡集群Keepalived

    文章目录 MyCat在MySQL主从复制的基础上实现读写分离 一.环境 二.依赖课程 三.MyCat 介绍 ( MyCat 官网:http://mycat.org.cn/ ) 四.MyCat 的安装 ...

  9. haproxy+keepalived实现高可用负载均衡

    软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载. HA ...

随机推荐

  1. maven学习(三)maven仓库

    官网图片: maven仓库: 仓库通常配置在settings.xml文件中,此处注意settings.xml的优先级:用户 > 全局,广义上maven的仓库一共包含两种: 1.本地仓库,默认在& ...

  2. 多线程(七)~join方法的使用

    作用:join()方法的作用是等待线程对象销毁.     join()方法具有能使线程排队运行的作用,有点类似于同步的效果.       join与synchronize的区别:         jo ...

  3. java面试题之----转发(forward)和重定向(redirect)的区别

    阅读目录 一:间接请求转发(Redirect) 二:直接请求转发(Forward) 用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相 ...

  4. Python迭代器生成器,私有变量及列表字典集合推导式(二)

    1 python自省机制 这个是python一大特性,自省就是面向对象的语言所写的程序在运行时,能知道对象的类型,换句话说就是在运行时能获取对象的类型,比如通过 type(),dir(),getatt ...

  5. babel 的一些记录

    babel 的作用是将高版本的代码转换成低版本的可支持的代码: 过程是 读取 source code 转换为语法树 -> 经过处理 -> 转换为 code: babel有preset和pl ...

  6. Elasticsearch 5.1.1 head插件安装指南

    一.下载安装包 下载Elasticsearch 5.1.1 下载地址:https://www.elastic.co/downloads/elasticsearch zip和tar格式是各种系统都通用的 ...

  7. March 25 2017 Week 12 Saturday

    Better master one than engage with ten. 会十事不如精一事. My colleagues think I have known a lot of things, ...

  8. 关于GitHubGit

    一.Github项目地址:https://github.com/gyguyt/Helloworld123 二.什么是Github? Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或 ...

  9. 纠结的一天 —— 由base64编解码与加号、空格引起

    2014年3月14日,星期五, 23点22分 忙碌.焦头烂额.充实而又幸福的一天! 写在篇头的话: 许多时候,别人分享的经验(成功或失败),个中滋味,听者很难真正体会,直到自己遇到的那一瞬间,才会泪如 ...

  10. 2018.10.6 Hibernate配置文件详解-------ORM元数据配置 &&& hibernate主配置文件

    ORM既然是实体与关系数据库的映射,那就需要建立实体和关系数据库之间的基础数据,也可以称为元数据.简单的说就是表示类与表.列与属性(get.set方法)等等之间对应关系的数据. Customer.hb ...