Memcached主从同步备份负载配置

猫爪实习,带我的师兄让我寻找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个压缩包复制到文件夹下

cd /tmp
mkdir memcached


2、安装libevent

tar zxvf libevent-1.4.9-stable.tar.gz
cd libevent-1.4.9-stable
./configure --prefix=/usr
make
make install
cd ..


3、安装memcached

tar zxvf memcached-1.2.8.tar.gz
cd memcached-1.2.8
./configure –with-libevent=/usr
make
make install
cd ..


4、安装memcached-repcached

tar zxvf memcached-1.2.8-repcached-2.2.tar.gz
cd memcached-1.2.8-repcached-2.2
./configure –enable-replication
make
make install
cd ..


5、安装magent

mkdir magent
cp magent-0.5.tar.gz magent
cd magent
tar zxvf magent-0.5.tar.gz
vi ketama.h 
在开头加入
#ifndef SSIZE_MAX
# define SSIZE_MAX      32767
#endif
vim Makefile
CFLAGS = -Wall -O2 -g 改为 CFLAGS = -lrt -Wall -O2 -g
mkdir /usr/lib64
cp /usr/lib/libevent.a /usr/lib64
ln -s /usr/lib64/libm.so /usr/lib64/libm.a
/sbin/ldconfig
sed -i "s#LIBS = -levent#LIBS = -levent -lm#g" Makefile
make
cp magent /usr/bin/magent
cd ..


测试流程:

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

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

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

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

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




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




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




至此,完毕。


参考:http://haiker.iteye.com/blog/1754031

            http://tim-fly.iteye.com/blog/1756936


资源包下载:http://download.csdn.net/detail/liufeng93/8099175

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值