Memcached 高可用方案 Repcached
来源:互联网 发布:java回调函数的作用 编辑:程序博客网 时间:2024/05/17 01:37
Repcached说明
Repcached是一个单master单 slave的方案,但它的 master/slave都是可读写的,而且可以相互同步。如果 master down掉, slave侦测到连接断了,它会自动 listen而成为 master;而如果 slave坏掉, master也会侦测到连接断,它就会重新 listen等待新的 slave加入。
Repcached 安装:
1:安装条件(root用户执行)
apt-get install libevent-dev
wget http://downloads.sourceforge.net/repcached/memcached-1.2.8-repcached-2.2.tar.gz
2:解压&进入目录编译
root@m2:~/nosql# tar zxvf memcached-1.2.8-repcached-2.2.tar.gzcd memcached-1.2.8-repcached-2.2/./configure --enable-replication --program-transform-name=s/memcached/repcached/make&&make install
注意:make的时候报错
memcached.c: 在函数‘add_iov’中:memcached.c:696:30: 错误: ‘IOV_MAX’未声明(在此函数内第一次使用)memcached.c:696:30: 附注: 每个未声明的标识符在其出现的函数内只报告一次make[2]: *** [memcached-memcached.o] 错误 1
需要修改 memcached.c 文件:
/* FreeBSD 4.x doesn't have IOV_MAX exposed. */#ifndef IOV_MAX#if defined(__FreeBSD__) || defined(__APPLE__)# define IOV_MAX 1024#endif#endif改成:/* FreeBSD 4.x doesn't have IOV_MAX exposed. */#ifndef IOV_MAX# define IOV_MAX 1024#endif
再make&&make install,编译之后退出root用户。
开启repcached:
启动master:[必须是11211端口]
1:
zhoujy@m2:~$ repcached -d -m 64 -p 11211 -u nobody -l 127.0.0.1 -vzhoujy@m2:~$ replication: listen
或则:
2:
zhoujy@m2:~$ repcached -d -m 64 -p 11211 -u nobody -l 127.0.0.1 -x 127.0.0.1 -X 11111 -v #(11211:master端口;11111:同步端口)
zhoujy@m2:~$ replication: connect (peer=127.0.0.1:11111)
replication: marugoto copying
replication: close
replication: listen
启动slave: -x:同行memcached的地址。
复制:11211的数据复制到11212中
1:
zhoujy@m2:~$ repcached -d -m 64 -p 11212 -u nobody -l 127.0.0.1 -x 127.0.0.1 -vzhoujy@m2:~$ replication: connect (peer=127.0.0.1:11212)replication: marugoto copying
或则:
2:
zhoujy@m2:~$ repcached -d -m 64 -p 11212 -u nobody -l 127.0.0.1 -x 127.0.0.1 -X 11111 -v #(11212:slave端口;11111:同步端口)
zhoujy@m2:~$ replication: connect (peer=127.0.0.1:11111)
replication: marugoto copying
replication: accept
replication: start
复制:11211的数据复制到11212中
zhoujy@m2:~$ telnet 127.0.0.1 11211Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.set a 0 0 3abcSTOREDset aa 0 0 5abcdeSTOREDquitConnection closed by foreign host.
zhoujy@m2:~$ telnet 127.0.0.1 11212Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.get aVALUE a 0 3abcENDget aaVALUE aa 0 5abcdeEND
反复制:11212 同步到了11211
set b 0 0 3ABCSTOREDset bb 0 0 5ABCDESTOREDquitConnection closed by foreign host.zhoujy@m2:~$ telnet 127.0.0.1 11211Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.get bVALUE b 0 3ABCENDget bbVALUE bb 0 5ABCDEEND
主从相互删除等操作都相互影响:
zhoujy@m2:~$ telnet 127.0.0.1 11211Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.delete aaDELETEDdelete bbDELETEDquitConnection closed by foreign host.zhoujy@m2:~$ telnet 127.0.0.1 11212Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.get aaENDget bbENDdelete aDELETEDget aENDquitConnection closed by foreign host.zhoujy@m2:~$ telnet 127.0.0.1 11211Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.get aENDget bVALUE b 0 3ABCEND
至此,上面的同步已经完成。
优点:数据冗余两台memcached都可以进行读写操作缺点:只支持单对单只支持memcached 1.2.x版本
扩展:
http://houwenhui.gotoip2.com/archives/1384
http://houwenhui.gotoip2.com/archives/1384
0 0
- Memcached 高可用方案 Repcached
- Memcached学习笔记 repcached高可用方案
- 高可用方案repcached
- Memcached学习笔记(四)——repcached高可用方案
- Memcache引入Repcached组件做HA高可用方案
- 联合memcache,repcached,magent,monit四个组件搭建高可用集群方案
- memcached安装管理与repcached高可用性
- Memcache 高可用集群之repcached
- memcached 高可用研究
- memcached repcached 同步
- Memcached repcached同步
- 【memcached】repcached工具
- repcached实现memcached主备
- postgresql高可用方案
- Mysql高可用方案
- MySQL高可用方案
- Redis高可用方案
- MySQL高可用方案
- MapKit 和 Google 地图 SDK 比较!
- R连接MySQL数据库方法
- Hadoop作业提交终极解决
- 关系表设计原则【转】
- [走过的路]联想时光——告别“不靠谱”
- Memcached 高可用方案 Repcached
- 淘宝百度腾讯博弈,究竟谁胜谁负
- hadoop学习笔记(一)——hadoop运行源代码分析
- 编程之美 2.14 求数组的子数组之和的最大值
- 安卓TableLayout表格布局
- PyCharm中引用Python解释器出现的错误!
- poj 1088 DP
- oracle修改字段数据类型
- SQL注入的一些笔记(一)