1、repcached介绍
repcached是日本人开发的实现memcached复制功能,它是一个单 master单 slave的方案,但它的 master/slave都是可读写的,而且可以相互同步,如果 master坏掉, slave侦测到连接断了,它会自动 listen而成为 master;而如果slave坏掉, master也会侦测到连接断,它就会重新 listen等待新的 slave加入
2、安装
在两台服务器上分别安装memcached服务,另注本文libevent的版本为:libevent-1.4.13,下载地址:
http://www.monkey.org/~provos/libevent-1.4.13-stable.tar.gz
也可使用yum install –y *libevent*
使用源码安装libevent在安装memcached时需要指定其路径
Repcached的下载地址:
http://downloads.sourceforge.net/repcached/memcached-1.2.8-repcached-2.2.tar.gz
注意repcached-2.2对应的版本是memcached-1.2.8,不能是其他版本,这个包其实是memcahced与repcached的结合包。
tar zxf memcached-1.2.8-repcached-2.2.tar.gz
cd memcached-1.2.8-repcached-2.2
./configure --prefix=/data/program/memcache --enable-replication --with-libevent=/data/program/libevent-1.4.13
make
make install
3、启动:
启动master
/data/program/memcached/bin/memcached -v-l 192.168.0.160 -p 11211 -uroot
replication: listen
启动salve
/usr/local/bin/memcached -v -l 192.168.0.163-p 11211 -uroot -x 192.168.0.160 -X 11212
replication: connect(peer=192.168.0.160:11212)
replication: marugoto copying
replication: start
启动正常后,master将accept。
4、测试:
操作master
telnet 192.168.0.160 11211
set key1 0 0 3
blog.5sail.com
查看slave
telnet 192.168.0.163 11211
get key1
如果正常显示blog.5sail.com,则表示repcached配置成功
5、应用:
可以实现cache冗余,避免因cache服务器down掉而导致数据丢失。
注意:如果master down机,slave接管并成为master,这时down机的master只能启用slave,他们之间互换角色,才能保持复制功能。换句话说,master没有抢占功能。
6、memcached启动参数说明:
-p:监听的tcp端口默认为11211
-l:使用那个IP启动服务
-d:作为守护进程运行
-u:指定启动用户
-m:指定使用内存的最大值
-M:内存用光时报错(而非使用LRU 算法清除内存)
-c:最大并发连接默认为1024
-v:打印提示信息
-vv:详细信息
-vvv:超详细信息
-P:保存进程Id到一个文件,与-d结合使用有意义
-R:每个连接可处理的最大请求
-x:主从复制中指定监听的master IP
-X:主从复制中指定监听的master 端口