设为首页 收藏本站
查看: 1041|回复: 0

[经验分享] 部署Memcached+magent+keepalived高可用集群

[复制链接]

尚未签到

发表于 2018-12-24 13:51:34 | 显示全部楼层 |阅读模式

  • 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 root@192.168.200.129:/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  







运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-655359-1-1.html 上篇帖子: Memcached 分布式缓存系统部署与调试 下篇帖子: zabbix监控memcached
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表