1:下载和安装
这时
机器nosql1出现replication: accept信号,启动成功。
假设nosql2意外down(这里使用kill将repcached进程停止)
同样启动并测试成功。
A:首先,上http://sourceforge.net查找repcached,找到最新repcaches版本下载地址http://nchc.dl.sourceforge.net/project/repcached/repcached/2.2.1-1.2.8/memcached-1.2.8-repcached-2.2.1.tar.gz
![repcached安装和使用 - mmicky - mmicky 的博客 repcached安装和使用 - mmicky - mmicky 的博客](http://img0.ph.126.net/uyeBNDYDDW_hlzTlWCnAeQ==/2858378388596730675.jpg)
B:在测试虚拟机nosql1和nosql2上分别安装repcached
[root@nosql1 ~]# tar -xzf memcached-1.2.8-repcached-2.2.1.tar.gz
[root@nosql1 ~]# yum install libevent-devel
[root@nosql1 ~]# cd memcached-1.2.8-repcached-2.2.1
[root@nosql1 memcached-1.2.8-repcached-2.2.1]# ./configure --enable-replication --program-transform-name=s/memcached/repcached/
[root@nosql1 memcached-1.2.8-repcached-2.2.1]# make
[root@nosql1 memcached-1.2.8-repcached-2.2.1]# make install
注意:虽然在READ文件中提示Dependencies: -- libevent, http://www.monkey.org/~provos/libevent/ (libevent-dev);但是不安装
libevent-devel的话,在configure时会有问题。
2:测试
A:启动repcached前,先检查有没有启动memcached(pstree、ps)以及11211端口有没有被使用
(netstat )。确认都没有使用,准备启动repcached。
B:如果使用root启动,要加 -u root参数;使用自建的用户,就不需要加该参数,下面是以root用户测试:
机器nosql1(192.168.100.131)运行
[root@nosql1 ~]# /usr/local/bin/repcached -l 192.168.100.131 -p 11211 -x 192.168.100.132 -v -d -u root
![repcached安装和使用 - mmicky - mmicky 的博客 repcached安装和使用 - mmicky - mmicky 的博客](http://img2.ph.126.net/DzzpqWU4a7ZA90MJw6JHfg==/6597952674495217991.jpg)
机器nosql2(192.168.100.132)运行
[root@nosql2 ~]# /usr/local/bin/repcached -l 192.168.100.132 -p 11211 -x 192.168.100.131 -v -d -u root
![repcached安装和使用 - mmicky - mmicky 的博客 repcached安装和使用 - mmicky - mmicky 的博客](http://img0.ph.126.net/GVNgLCgq-FhNxGU9wa979Q==/3007841601230089053.jpg)
机器nosql1做测试:
![repcached安装和使用 - mmicky - mmicky 的博客 repcached安装和使用 - mmicky - mmicky 的博客](http://img0.ph.126.net/ZZELePMG_PWasmkmhpLd_w==/6597931783774284039.jpg)
机器nosql2上查看replication的结果,并建立新的key,方便查看nosql1是否也能reolication成功。
![repcached安装和使用 - mmicky - mmicky 的博客 repcached安装和使用 - mmicky - mmicky 的博客](http://img2.ph.126.net/ewxfSabYopTf_wAyM2tUoQ==/6598217656797293786.jpg)
查看nosql1,可以看出
双向复制成功。
![repcached安装和使用 - mmicky - mmicky 的博客 repcached安装和使用 - mmicky - mmicky 的博客](http://img2.ph.126.net/uX7Z-uTdNMPZoQo48kyT2A==/6597921888169638443.jpg)
![repcached安装和使用 - mmicky - mmicky 的博客 repcached安装和使用 - mmicky - mmicky 的博客](http://img1.ph.126.net/LqxHS75ZoPpHSwf4vCH6oQ==/1785395777375709619.jpg)
nosql1上出现replication关闭信息,继续增加key和修改已有的key:
![repcached安装和使用 - mmicky - mmicky 的博客 repcached安装和使用 - mmicky - mmicky 的博客](http://img2.ph.126.net/OB26JM0QxDVE9z1-5gitCA==/3401906568625145210.jpg)
重启nosql2,查看nosql2的key值,可以看出nosql1中的key已经replication过来了。
![repcached安装和使用 - mmicky - mmicky 的博客 repcached安装和使用 - mmicky - mmicky 的博客](http://img1.ph.126.net/VDGxlOay29K_Mt1xPtVHOA==/3280872328639564096.jpg)
C:使用新建用户测试repcached
在机器nosql1和nosql2建立组test,并添加用户test1和test2,然后再nosql1切换到test1,启动repcached:
[root@nosql1 ~]# su - test1
[test1@nosql1 ~]$ /usr/local/bin/repcached -l 192.168.100.131 -p 11211 -x 192.168.100.132 -v -d
![repcached安装和使用 - mmicky - mmicky 的博客 repcached安装和使用 - mmicky - mmicky 的博客](http://img0.ph.126.net/Xy4H898srLDMQdmezqm5-Q==/3399373293834738531.jpg)
在nosql2上切换到用户test2,启动repcached:
[root@nosql2 ~]# su - test2
[test2@nosql2 ~]$ /usr/local/bin/repcached -l 192.168.100.132 -p 11211 -x 192.168.100.131 -v -d
![repcached安装和使用 - mmicky - mmicky 的博客 repcached安装和使用 - mmicky - mmicky 的博客](http://img0.ph.126.net/ocndihKOpQIDerVTFMoxzg==/6598112103681027603.jpg)
3:总结
A:以上测试的时候都是关闭了防火墙,不然测试机器nosql1和nosql2会一直处于listen状态。当然也可以开启iptables,只是需要设置一下。
B:repcached启动貌似和用户无关。