部署Memcached+magent+keepalived高可用集群

  • Memcached+magent+keepalived高可用集群
  • magent是一款开源的代理服务软件,我们可以通过他来实现缓存数据的同步,当然这里说的同步不是说memcached之间就能互相通讯了, 而magent可以同时连接多个memcached节点, 通过magent绑定的VIP从客户端登录memcached写入数据,其他节点的memcached数据也会同步。
    ?

    • 案例环境
    主机名称 IP 主要软件
    memcached主 192.168.200.128 Magent、memcached、libevent、keeplived
    memcached从 192.168.200.129 memcached、libevent、keeplived
    客户端 192.168.200.130 telnet 测试
    VIP 192.168.200.200

    ?

    • 配置memcached主、从缓存节点 -两台配置相同

      # tar xf memcached-1.5.6.tar.gz -C /opt/
      # tar xf libevent-2.1.8-stable.tar.gz -C /opt/
      # yum install gcc gcc-c++ make -y
      
      # cd /opt/libevent-2.1.8-stable
      # ./configure --prefix=/usr/local/libevent
      # make && make install
      
      # cd /opt/memcached-1.5.6
      # ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/libevent/
      # make && make install
      
      # ln -s /usr/local/memcached/bin/* /usr/local/bin/    
    • 将安装libevent-2.1.so.6的模块复制到 /usr/lib64目录下
    • 否则在启动Magent时会出错
      # ln -s /usr/local/libevent/lib/libevent-2.1.so.6 /usr/lib64/libevent-2.1.so.6

      ?

    • 在主服务器安装Magent
    • 主服务器
      # mkdir /opt/magent
      # tar zxvf magent-0.5.tar.gz -C /opt/magent
      # cd /opt/magent
    • 编译安装前需要修改文件 否则会报错
      # vi ketama.h   //修改下面3行
              #ifndef SSIZE_MAX
              #define SSIZE_MAX 32767
              #endif
      
      # vi Makefile  //添加路径
          LIBS = -levent -lm -L/usr/local/libevent/lib
          INCLUDE=-I/usr/local/libevent/include
      
      # make 
    • 编译后会生成一个可执行文件

        # cp magent /usr/bin/      //把生成的mgent程序让系统识别

    ?
    ?

    • 从服务器
    • 从服务器不装 直接拷贝过去
      # yum install openssh-clients    //安装远程连接工具
      # scp magent [email protected]:/usr/bin/      //把产生的magent文件直接复制到从服务器。

      ?

    • 在主从服务器上安装配置keepalived
    • 配置不同出已经标注
      # yum install keepalived -y
      # vi /etc/keepalived/keepalived.conf
       router_id MAGENT_HA               //主从不同 自定义
          下面删除4行
      }
      
      //调用这个脚本每2秒检查一次magent状态
      vrrp_script magent {
                      script "/opt/shell/magent.sh"
                      interval 2
      }
      vrrp_instance VI_1 {
              state MASTER                    // 从服务器这里是BACKUP
              interface ens33
              virtual_router_id 51             //虚拟路由ID ,主从相同
              priority 100                         //优先级  从要小于主
              advert_int 1
              authentication {
                      auth_type PASS
                      auth_pass 1111
              }
      track_script {              //调用上面定义的脚本
                      magent
      }
      
      virtual_ipaddress {                       //定义虚拟IP
      192.168.200.200
      }
      }
    • 主服务器上
    • 写magent.sh 脚本
      # mkdir -p /opt/shell/
      # cd /opt/shell/
      # vi magent.sh
          #!/bin/bash
          K=`ps -ef | grep keepalived | grep -v grep | wc -l`
          if [ $K -gt 0 ]; then
                          magent -u root -n 51200 -l 192.168.200.200 -p 12000 -s 192.168.200.128:11211 -b 192.168.200.129:11211
          else
          pkill -9 magent
          fi

    • 脚本选项解释
      -n 51200 //定义用户最大连接数
      -l    //指定虚拟IP
      -p 12000  //指定端口号
      -s //指定主缓存服务器
      -b //指定从缓存服务器
      
      # chmod +x magent.sh
      # systemctl start keepalived.service
      # ip addr  //查看VIP

    ?

    • 从服务器上
    • 写magent.sh 脚本
      # mkdir -p /opt/shell/
      # cd /opt/shell/
      # vi magent.sh
          #!/bin/bash
          K=`ip addr | grep 192.168.200.200 | grep -v grep | wc -l`
          if [ $K -gt 0 ]; then
                          magent -u root -n 51200 -l 192.168.200.200 -p 12000 -s 192.168.200.128:11211 -b 192.168.200.129:11211
          else
          pkill -9 magent
          fi  

      # chmod +x magent.sh
      # systemctl start keepalived.service

    ?

    • 在两台服务器上启动memcached

      # memcached -d -m 32m -p 11211 -u root  

    ?

    • 在客户端测试
    • 测试数据同步
    • 测试keepalived主从热备份( 将主节点宕机,在从节点上查看VIP,VIP已经漂移过来了)
      # yum install telnet -y
      # telnet 192.168.200.200 12000  


    原文地址:http://blog.51cto.com/13630803/2150165

    时间: 2024-08-28 06:14:44

    部署Memcached+magent+keepalived高可用集群的相关文章

    Memcached + Magent + keepalived高可用集群

    一.前言 magent是一款开源的代理服务软件,我们可以通过它来实现缓存数据的同步,当然这里说的同步不是说memcached之间就能互相通讯了, 而magent可以同时连接多个memcached节点, 通过magent绑定的VIP从客户端登录memcached写入数据,其他节点的memcached数据也会同步. 二.架构部署 环境说明:1.配置 memcache 主缓存节点和从缓存节点(两台服务器配置相同) yum install gcc gcc-c++ make -y 1.tar zxvf m

    linux企业常用服务---lvs+Keepalived高可用集群

    部署前准备: iptables和selinux没配置,关掉 挂载系统镜像作为本地yum源,修改yum文件 源码包准备keepalived-1.2.13.tar.gz 环境介绍: 主服务器ip:192.168.100.157(keeplived+lvs) 从服务器ip:192.168.100.156(keeplived+lvs) 节点服务器ip:192.168.100.153-192.168.100.155(httpd) 集群vip:192.168.100.95 1.安装keepalived(在两

    keepalived高可用集群技术介绍及实战演练

    一.Keepalived是什么 Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器. 二.Keepalived的特性 配置文件简单:配置文件比较简单,可通过简单配置实现高可用功能 稳定性强:keepalived是一个类似于

    Nginx+Keepalived高可用集群应用实践

    Nginx+Keepalived高可用集群应用实践 1.Keepalived高可用软件 1.1 Keepalived服务的三个重要功能 1.1.1管理LVS负载均衡软件 早期的LVS软件,需要通过命令行或脚本实现管理,并且没有针对LVS节点的健康检查功能.为了解决LVS的这些使用不便问题,Keepalived诞生了,可以说,Keepalived软件起初是专为解决LVS的问题而诞生的.因此,Keepalived和LVS的感情很深,他们的关系如同夫妻一样,可以紧密地结合,愉快地工作.Keepaliv

    [转帖]Breeze部署kubernetes1.13.2高可用集群

    Breeze部署kubernetes1.13.2高可用集群 2019年07月23日 10:51:41 willblog 阅读数 673 标签: kubernetes 更多 个人分类: kubernetes https://blog.csdn.net/networken/article/details/86550735 所知道的太少了.. 不过简单试了下 不是特别好用 国内公司做的系统.. 也可能跟我的虚拟机兼容性有关系.. breeze简介 项目地址:https://github.com/wis

    LVS+Keepalived高可用集群(CentOS7)

    Keepalived高可用集群 什么是高可用集群? keepalived是集群管理中保证集群高可用的一个服务软件,其功能类似于heartbeat,用来防止单点故障. keepalived故障切换转移原理 keepalived是以VRRP协议为实现基础的,VRRP虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip

    Keepalived高可用集群应用场景与配置

    1.Keepalived单实例主备模式集群方案 这是最简单的模式,不只考虑高可用集群,先不考虑后方的Nginx负载均衡集群,即后端的服务器集群,参考下面的图示: 其对应的Keepalived核心配置如下: lb01 global_defs { notification_email { [email protected] [email protected] [email protected] } notification_email_from [email protected] smtp_serv

    Keepalived高可用集群

    Keepalived高可用集群 keepalived高可用集群是指一个主服务器,一个备份服务器,共同使用一个虚拟的ip地址,当主服务器宕掉之后,备份服务器开始工作,这样就避免了访问事故. 搭建keepalived高可用集群 [master] #yum -y install keepalived #vim /etc/keepalived/keepalived.conf vrrp_instance webha { state MASTER 主服务器 interface eth0 网卡口 priori

    Keepalived高可用集群。

    Keepalived高可用集群 Keepalived介绍 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能.因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx,Haproxy,MySQL等)的高可用解决方案软件. Keepalived软件主要是通过VRRP协议实现高可用功能的.VRRP是Virtual Router Redundancy Protocol(