设为首页 收藏本站
查看: 1394|回复: 0

[经验分享] redis + keepalived 实现高可用

[复制链接]

尚未签到

发表于 2015-11-19 14:56:41 | 显示全部楼层 |阅读模式
redis 安装配置到主从及ha的实现sed -i '/^\[main\]$/ aexclude=*.i?86' /etc/yum.confyum remove \*.i\?86 -yyum groupinstall "Development Libraries" "Development Tools" -ywget http://redis.googlecode.com/files/redis-2.4.11.tar.gztar zxvf redis-2.4.11.tar.gzcd redis-2.4.11make && make test && make install && cd ..
#make命令执行完成后,会在当前目录下生成本个可执行文件,如下:
#redis-server:Redis服务器的daemon启动程序
#redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
#redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
#redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况  cp redis.conf /etc/sed -i '/^daemonize/ s/ no$/ yes/g' /etc/redis.conf [iyunv@localhost ~]# redis-cli
redis 127.0.0.1:6379> set foo bar
OK
redis 127.0.0.1:6379> get foo
"bar"
redis 127.0.0.1:6379> redis双机高可用的基础,是redis的主备复制机制。指定主备角色,是用slaveof命令。指定本机为master      slaveof NO ONE 指定本机为192.168.1.10的slave      slaveof 192.168.1.10 6379如果同mysql的master-master机制那样,分别在配置文件中指定本机为对方的slave,配置文件中都设置slaveof x.x.x.x,那么这两个redis启动之后不提供服务,客户端无法连接,类似于服务死锁的状态。 实验发现,如果两个服务按照都master方式启动,然后给一个master发送slaveof命令,指定其为另一个的slave,则此时双方都为slave,数据可以进行双向同步。基于这个原理,设计了一个redis双机互备的机制。 结构如下:redis:          server:192.168.202.40     cluster:               master:192.168.202.114               slave:   192.168.202.115 实现方式如下 :     1、 两台redis服务器,配合keepalived。     2、 初始状态,是在master(192.168.202.114)上绑定keepalived的virtual ip 192.168.202.40。     3、 启动一个监控脚本,每秒钟对两个redis服务进行一次扫描。     4、 如果两台redis处于正常master-slave状态,则不进行操作。     5、 如果master挂掉,监控脚本对在线的slave(192.168.202.115)发送slaveof NO ONE命令,           设置其为临时的主机master,同时由于原来的master服务器挂掉,           virtual ip 192.168.202.40自动转移至master,不影响应用程序对redis的存取。           此时应用程序新产生的数据都保存到master(192.168.202.115)上。     6、 脚本监测到原来的master(192.168.202.114)在挂掉后重新启动加入集群,           则向原master发送slaveof 192.168.202.115 6379命令,设置其为slave,           从新master(192.168.202.115)复制在自己挂掉期间丢失的数据。本文出自 “forward” 博客,请务必保留此出处http://nginx.blog.iyunv.com/491911/845494
来源:http://nginx.blog.iyunv.com/491911/845494

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-141241-1-1.html 上篇帖子: keepalived 两边都出现VIP 下篇帖子: keepalived+lvs+mysql cluster架构实现负载均衡
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表