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地址