redis集群 实战
2017-02-16 17:49
106 查看
标签:redis集群
redis 集群维护
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://navyaijm.blog.51cto.com/4647068/1706715
一、说明
redis 3.0集群功能出来已经有一段时间了,目前最新稳定版是3.0.5,我了解到已经有很多互联网公司在生产环境使用,比如唯品会、美团等等,刚好公司有个新项目,预估的量单机redis无法满足,开发又不想在代码层面做拆分,所以就推荐他们尝试一下redis集群,下面做了一些相关笔记,以备后用
二、环境
1、redis节点
2、redis版本
三、安装配置
1、安装redis
2、安装ruby及ruby的redis模块
3、内核调优
4、建立目录
5、撰写redis配置文件(cp配置文件注意修改端口)
6、启动服务
7、初始化集群
8、查看集群状态
PS:
redis-trib.rb是一个ruby工具,封装了redis集群的一些命令,用这个工具操作集群非常方便,比如上面初始化集群,查看集群状态,还有添加、删除节点,迁移slot等等功能
四、redis集群维护
A、场景1
线上的集群已经有瓶颈,集群需要扩容,比如我们已经准备了一主一从(10.10.2.85:6302、10.10.2.85:6303),如下:
1、添加一个主节点
10.10.2.85:6302是要加的新节点,10.10.2.70:6300是集群中已存在的任意节点
2、给主节点添加从节点
--slave 指定要加的是从节点,--master-id 指定这个从节点的主节点ID,10.10.2.85:6303是需要新加的从节点,10.10.2.70:6300是集群已存在的任意节点
3、迁移一些slot给新节点
B、场景二
上面的例子是集群扩容,相对的,由于各种原因集群可能也需要缩容,下面的例子把上文扩容的节点下线,步骤如下:
1、迁移这个节点的slot到其他节点(有slot的节点是不可以直接下线的)
2、然后查看10.10.2.85:6302这个maser上已经没有slot了
3、下线slave节点
4、下线master节点
C、场景三
集群中一个节点的master挂掉,从节点提升为主节点,还没有来的急给这个新的主节点加从节点,这个新的主节点就又挂掉了,那么集群中这个节点就彻底不可以用了,为了解决这个问题,我们至少保证每个节点的maser下面有两个以上的从节点,这样一来,需要的内存资源或者服务器资源就翻倍了,有没有一个折中的方法呢,答案是肯定的,还节点上文配置文件中的cluster-migration-barrier参数不,我们只需要给集群中其中一个节点的master挂多个从库,当其他节点的master下没有可用的从库时,有多个从库的master会割让一个slave给他,保证整个集群的可用性
1、给10.10.2.70:6300 10.10.2.70:6301 这组节点下面加一个从库10.10.2.85:6302
2、把10.10.2.71:6300 10.10.2.71:6301这组的从节点停掉
3、查看10.10.2.85:6302这个节点是否成为10.10.2.71:6300的从库
五、cluster相关命令
redis 集群维护
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://navyaijm.blog.51cto.com/4647068/1706715
一、说明
redis 3.0集群功能出来已经有一段时间了,目前最新稳定版是3.0.5,我了解到已经有很多互联网公司在生产环境使用,比如唯品会、美团等等,刚好公司有个新项目,预估的量单机redis无法满足,开发又不想在代码层面做拆分,所以就推荐他们尝试一下redis集群,下面做了一些相关笔记,以备后用
二、环境
1、redis节点
1、安装redis
redis-trib.rb是一个ruby工具,封装了redis集群的一些命令,用这个工具操作集群非常方便,比如上面初始化集群,查看集群状态,还有添加、删除节点,迁移slot等等功能
四、redis集群维护
A、场景1
线上的集群已经有瓶颈,集群需要扩容,比如我们已经准备了一主一从(10.10.2.85:6302、10.10.2.85:6303),如下:
1、添加一个主节点
2、给主节点添加从节点
3、迁移一些slot给新节点
上面的例子是集群扩容,相对的,由于各种原因集群可能也需要缩容,下面的例子把上文扩容的节点下线,步骤如下:
1、迁移这个节点的slot到其他节点(有slot的节点是不可以直接下线的)
集群中一个节点的master挂掉,从节点提升为主节点,还没有来的急给这个新的主节点加从节点,这个新的主节点就又挂掉了,那么集群中这个节点就彻底不可以用了,为了解决这个问题,我们至少保证每个节点的maser下面有两个以上的从节点,这样一来,需要的内存资源或者服务器资源就翻倍了,有没有一个折中的方法呢,答案是肯定的,还节点上文配置文件中的cluster-migration-barrier参数不,我们只需要给集群中其中一个节点的master挂多个从库,当其他节点的master下没有可用的从库时,有多个从库的master会割让一个slave给他,保证整个集群的可用性
1、给10.10.2.70:6300 10.10.2.70:6301 这组节点下面加一个从库10.10.2.85:6302
相关文章推荐
- Redis集群生产环境高可用方案实战过程
- redis集群节点新增、删除、重新分配slot实战
- Redis实战之Windows Redis 集群搭建(一)
- Redis 视频教程 大数据 高性能 集群 NoSQL 设计 实战 入门 命令
- redis 实战系列二:用python操作redis集群
- Redis 3.2.4集群实战
- Redis 集群及将 Redis 作为 mysql 的缓存服务器实战
- Redis Cluster 3.0.5 集群实战
- redis实战_07_redis集群
- Redis集群生产环境高可用方案实战过程
- redis集群实战
- redis 集群配置实战
- redis3.0 集群实战3 - java编程实战
- Redis主从复制和集群配置系列之六(redis集群节点新增、删除、重新分配slot实战)
- java架构师、集群、高可扩展、高性能、高并发、性能优化、Spring boot、Dubbo、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战学习架构师之路
- redis集群实战
- redis集群节点新增、删除、重新分配slot实战
- 项目实战11—企业级nosql数据库应用与实战-redis的主从和集群
- 实战day06(二)----redis集群
- redis集群实战