Memcached主从同步备份负载配置

http://blog.csdn.net/liufeng93/article/details/40614985


猫爪实习,带我的师兄让我寻找Memcached主从热备份的解决方案。一番折腾,blog找了一大堆,终于磕磕绊绊搞定了。很多blog写的不全,magent安装出错而无法进行Memcached代理,所以想自己整理一番,以备后用。


操作系统:Ubuntu 64位

所需软件:libevent-1.4.9-stable.tar.gz、memcached-1.2.8.tar.gz、memcached-1.2.8-repcached-2.2.tar.gz、magent-0.5.tar.gz


安装过程:

1、提升至root权限,在tmp目录下新建memcached文件夹,将上述4个压缩包复制到文件夹下

  1. cd /tmp  
  2. mkdir memcached  

2、安装libevent


  1. tar zxvf libevent-1.4.9-stable.tar.gz  
  2. cd libevent-1.4.9-stable  
  3. ./configure --prefix=/usr  
  4. make  
  5. make install  
  6. cd ..  


3、安装memcached


  1. tar zxvf memcached-1.2.8.tar.gz  
  2. cd memcached-1.2.8  
  3. ./configure –with-libevent=/usr  
  4. make  
  5. make install  
  6. cd ..  


4、安装memcached-repcached


  1. tar zxvf memcached-1.2.8-repcached-2.2.tar.gz  
  2. cd memcached-1.2.8-repcached-2.2  
  3. ./configure –enable-replication  
  4. make  
  5. make install  
  6. cd ..  

5、安装magent


  1. mkdir magent  
  2. cp magent-0.5.tar.gz magent  
  3. cd magent  
  4. tar zxvf magent-0.5.tar.gz  

  1. vi ketama.h   
  2. 在开头加入  
  3. #ifndef SSIZE_MAX  
  4. # define SSIZE_MAX      32767  
  5. #endif  

  1. vim Makefile  
  2. CFLAGS = -Wall -O2 -g 改为 CFLAGS = -lrt -Wall -O2 -g  

  1. mkdir /usr/lib64  
  2. cp /usr/lib/libevent.a /usr/lib64  
  3. ln -s /usr/lib64/libm.so /usr/lib64/libm.a  
  4. /sbin/ldconfig  
  5. sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile  
  6. make  
  7. cp magent /usr/bin/magent  
  8. cd ..  


测试流程:

1、开启代理,代理端口是12000,设置127.0.0.1:11211为主服务器,127.0.0.1:11212为从服务器


  1. magent -u root -p 12000 -s 127.0.0.1:11211 -b 127.0.0.1:11212  

2、启动两个memcached进程,在11111端口进行同步


  1. ./memcached -u root -d -l 127.0.0.1 -p 11211 -x 127.0.0.1 -X 11111  
  2. ./memcached -u root -d -l 127.0.0.1 -p 11212 -x 127.0.0.1 -X 11111  

3、从代理服务器写入数据,然后查看两个memcached进程内是否存在数据

Memcached主从同步备份负载配置_第1张图片

Memcached主从同步备份负载配置_第2张图片


4、关掉主服务器,从代理和从服务器查看是否能够查询到结果

Memcached主从同步备份负载配置_第3张图片

Memcached主从同步备份负载配置_第4张图片


5、重新启动在11211端口监听的memcached进程,查询其上是否存在数据

Memcached主从同步备份负载配置_第5张图片

Memcached主从同步备份负载配置_第6张图片


至此,完毕。


你可能感兴趣的:(memcached)