• 基于heartbeat的单播方式实现tomcat高可用


    1、节点规划

      在master、backup节点上添加eth0、eth1两网卡,具体添加过程,参考“基于VMware为CentOS 6.5配置两个网卡

    2、IP规划

     

    master

    backup

    eth0

    192.168.46.128

    192.168.46.130

    eth1

    192.168.46.129

    192.168.46.131

      上面这个表格说明master节点中的eth0网卡的IP是192.168.46.128,eth1网卡的IP是192.168.46.129;backup节点中eth0网卡的IP是192.168.46.130,eth1网卡的IP是192.168.46.131

    3、VIP规划(虚拟IP规划)

    IP地址

    子网掩码

    说明

    192.168.46.150

    255.255.255.0

    192.168.46.150/24

      192.168.46.150/24就等同于IP是192.168.46.150,子网掩码是255.255.255.0

    3、网卡规划

     

    master

    backup

    eth0

    数据网卡

    数据网卡

    eth1

    心跳网卡

    心跳网卡

    4、软件规划

    软件

    版本

    说明

    heartbeat

    3.0.4

    使用yum自动安装的

    tomcat

    7.0.70

    需要手动配置

    5、目录规划

    软件

    目录

    tomcat-7.0.70

    /etc/server

    6、安装tomcat

      下面以在master节点配置为例

      1、创建/etc/server目录,并切换到该目录,如下

        clip_image001

      2、获得apache-tomcat-7.0.70.tar.gz连接(http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.70/bin/apache-tomcat-7.0.70.tar.gz

      3、使用wget下载,如下

        clip_image003

      4、解压apache-tomcat-7.0.70.tar.gz

        clip_image004

      5、将apache-tomcat-7.0.70.tar.gz删除,并重名为tomcat

        clip_image005

      6、在backup节点上也就行相同配置

      7、测一下两个节点上的tomcat是否可以正常访问

        clip_image007

        clip_image009

    7、安装heartbeat

      在master节点上,输入“yum install heartbeat -y”,安装heartbeat

        clip_image010

      在执行上面这句时,可能报如下错误

        clip_image011

        解决方法

        1、使用yum list heartbeat,查看源中是否存在heartbeat,如下

          clip_image012

        2、出现上面问题No matching Packages to list,可能是源中没有heartbeat,默认情况,系统自带了源,但自带源中是没有heartbeat,如下

          clip_image013

        3、可以添加epel,来解决问题,具体请参考“为centos6.5系统添加epel源

      在backup节点上也进行如上操作

    8、配置heartbeat

      1、heartbeat的配置文件是在/etc/ha.d目录下,默认情况下,haresources、authkeys、ha.cf文件在该目录下是没有的,需要从/usr/share/doc/ heartbeat-3.0.4/拷贝,下面以在master节点上操作为例,如下

        clip_image014

        clip_image015

       在backup节点上也进行如上操作

      2、配置ha.cf文件

        master节点上的ha.cf文件内容,如下

    debugfile /var/log/ha-debug
    logfile /var/log/ha-log
    # 指定心跳间隔时间为2秒
    keepalive 2
    # 指定若备节点在30秒内没有收到主节点的心跳信息号,则立即接管主节点的服务资源
    deadtime 30
    # 指定心跳延迟时间为10秒,10秒内备节点不能收到到主节点的心跳信号时,就会向日志中写入警告,
    # 但此时不会接管服务,直到超过deadtime还是不能接到心跳再接管
    warntime 10
    # 初始化时间为120秒
    initdead 120
    udpport 694
    # 采用网卡eth1来发送心跳,后面的ip地址应为对方的IP地址
    ucast eth1 192.168.46.129
    # 如果主节点重新恢复过来,主节点将资源抢占过来,如果为off,则只当备节点当掉后,主节点才取回资源
    auto_failback on
    # 主节点名称,必须和uname -n显示的一致
    node master
    # 备节点名词,必须和uname -n显示的一致
    node backup
    # 在备节点不能接收到主节点的心跳时,先ping一下ping服务器,将会判断自己网络是否有问题
    ping 192.168.46.2

        backup节点上的ha.cf文件与mater中的基本相同,区别如下

    ucast eth1 192.168.46.131

        其他配置和master中的是一样的,这里不再给出

    3、配置authkeys

        因为机器之间通信需要认证,所以需要配置认证文件authkeys,可选认证有crc、sha1、md5,这里我们选择crc,不加密认证

    auth 1
    1 crc

        master与backup节点中authkeys配置是相同,如上

        注意这里需要修改authkeys的权限为600,如下

          clip_image016

      4、配置haresources

    master IPaddr::192.168.46.150/24/eth0 tomcat

        master与backup节点中的haresources文件内容如上所示,它们内容是相同的

        参数解释:

          master是主机名,启动时会在这个主机上绑定vip

          IPaddr是heartbeat自带的一个脚本,其后的ip等是脚本的参数

          192.168.46.150/24/eth0这句话的意思是:初始化时,在master主机的eth0网卡上绑定虚拟IP(192.168.46.150),子网掩码为255.255.255.0

          tomcat是一个脚本,这个脚本可以通过传start/stop参数可以启停tomcat,如果有多个服务要托管给heartbeat,只需使用空格隔开,在后面添加就行;如果要托管的服务需要走不同的虚拟IP就得单起一行去配置了

      5、编写tomcat启停脚本

        该脚本必须位于/etc/inid.d或/etc/ha.d/resource.d目录下,且脚本名字为tomcat,这里我们放到/etc/ha.d/resource.d目录下,下面以在master节点操作为例,如下

    case $1 in
    start)
    /etc/server/tomcat/bin/startup.sh
    ;;
    stop)
    /etc/server/tomcat/bin/shutdown.sh
    ;;
    *)
    echo "param (start|stop)"
    exit 1
    ;;
    esac
    exit 0

        为tomcat脚本增加可执行权限,如下

          clip_image017

    9、启动heartbeat

      分别在master、backup节点上输入“/etc/init.d/heartbeat start”,启动heartbeat

        clip_image018

        clip_image019

    10、执行效果如下

      clip_image021

    如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
    如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
    如果,您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是【刘超★ljc】。

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    大厂面试高频Redis,记不住的多操作几次吧
    自动化测试系列之jenkins配置搭建环境
    关于linux服务器的磁盘监控的相关知识
    前端常见一些安全问题及解决方案
    如何使用PM2部署前端项目
    vuex状态管理器本地持久化
    关于在Vue中Typescript的写法
    websocket快速重连机制
    如何使用selenium打开多个浏览器
    运维人员踩坑记录之netplan遇坑,配置临时IP巧妙解决
  • 原文地址:https://www.cnblogs.com/codeOfLife/p/5644705.html
Copyright © 2020-2023  润新知