MemCached缓存技术(六)MemCached的主主复制和HA

Posted on 2020-08-25 10:40  MissRong  阅读(225)  评论(0)    收藏  举报

MemCached缓存技术(六)MemCached的主主复制和HA

1、Memcached主主复制

 

安装具有复制功能的memcached版本

tar zxvf memcached-1.2.8-repcached-2.2.tar.gz

cd memcached-1.2.8-repcached-2.2

./configure --prefix=/root/training/memcached_replication

         --with-libevent=/root/training/libevent/ --enable-replication

make

make install

出现以下错误:

解决办法,编辑memcached.c文件如下:

 

 

 修改成如下形式:

 

 

启动第一台MemCached,使用-x指定对端服务器的地址

./memcached -d -u root -m 128 -x 192.168.137.12

启动第二台MemCached,使用-x指定对端服务器的地址

./memcached -d -u root -m 128 -x 192.168.137.11

出现以下错误:

 

 

 解决办法:

查找 libevent-2.0.so.5

whereis libevent-2.0.so.5

使用ldd命令查看memcached命令,发现找不到

 

 

 建立软连接

ln -s /root/training/libevent/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5

2、Memcached的HA(High Availablity)

这一般是运维方面需要做的。

 

Keepalived是一个交换机制的软件。

Keepalived的作用是检测服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工作正常后Keepalived自动将服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的服务器。

利用Keepalived实现MemCached的主主复制高可用架构:

Keepalived在memcached主服务器产生一个虚拟IP(VIP)

Keepalived可以通过不断的检测memcached主服务器的11211端口是否正常工作,  

如果发现memcached Down机,虚拟IP就从主服务器移到从服务器

配置Keepalived(每台机器都要配置):

rpm -ivh keepalived-1.2.13-4.el6.i686.rpm

配置:主从节点都要配置,配置文件:

/etc/keepalived/keepalived.conf

                                                           (主节点配置信息)                                                         (从节点配置信息)

! Configuration File for keepalived

 

global_defs {

    notification_email {

      collen_training@126.com

    }

    notification_email_from collen_training@126.com

    smtp_server 127.0.0.1

    smtp_connect_timeout 30

    router_id LVS_DEVEL

}

 

vrrp_instance VI_1 {

    state MASTER

    interface eth0

    virtual_router_id 51

    priority 101

    advert_int 1

    authentication {

     auth_type PASS

     auth_pass 1111

    }

    virtual_ipaddress {

      192.168.137.88

    }

}

! Configuration File for keepalived

 

global_defs {

    notification_email {

       collen_training@126.com

    }

    notification_email_from collen_training@126.com

    smtp_server 127.0.0.1

    smtp_connect_timeout 30

    router_id LVS_DEVEL

}

 

vrrp_instance VI_1 {

    state MASTER

    interface eth0

    virtual_router_id 51

    priority 100

    advert_int 1

    authentication {

      auth_type PASS

      auth_pass 1111

    }

    virtual_ipaddress {

      192.168.137.88

    }

}

验证Keepalived: 使用命令 ip ad sh 查看虚拟ip地址

 

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3