redis3.0自带集群配置
参考
http://redis.readthedocs.org/en/latest/topic/cluster-tutorial.html
http://yindashan.github.io/blog/2014/11/02/redisclusterda-jian-jiao-cheng/
主从切换需要使用sentinel
http://blog.mkfree.com/posts/5257683d479e1dd72e7c1b4e
一些说明
集群使用的是gossip协议,是最终一致,并非强一致
数据根据不同的slot分到不同的实例,这个测试的时候需要用用redis-cli上添加-c参数
主从使用sentinel实现自动切换,不需要在配置里面里面强行约束master和slave,应该是动态使用命令验证掉了
以下是我配置的例子
编译redis,重新组织下目录,具体自己搞搞
复制到7000,,,,,
修改每个实例的配置文件
port
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout
appendonly yes
自己写个run-cluster.sh
cd ./;
./bin/redis-server ./conf/redis.conf;
cd ../; cd ./;
./bin/redis-server ./conf/redis.conf;
cd ../; cd ./;
./bin/redis-server ./conf/redis.conf;
cd ../; cd ./;
./bin/redis-server ./conf/redis.conf;
cd ../; cd ./;
./bin/redis-server ./conf/redis.conf;
cd ../; cd ./;
./bin/redis-server ./conf/redis.conf;
cd ../; ./redis/bin/redis-trib.rb create --replicas 127.0.0.1: 127.0.0.1: 127.0.0.1: 127.0.0.1: 127.0.0.1: 127.0.0.1:;
自己写个sentinel.conf,用于监控redis实例
port sentinel monitor master1 127.0.0.1
sentinel down-after-milliseconds master1
sentinel failover-timeout master1
sentinel parallel-syncs master1 sentinel monitor master2 127.0.0.1
sentinel down-after-milliseconds master2
sentinel failover-timeout master2
sentinel parallel-syncs master2 sentinel monitor master3 127.0.0.1
sentinel down-after-milliseconds master3
sentinel failover-timeout master3
sentinel parallel-syncs master3
第1行,指定sentinel使用的端口,不能与redis-server运行实例的端口冲突
第3行,显示监控master节点127.0.0.1,master节点使用端口7000,最后一个数字表示投票需要的"最少法定人数",比如有10个sentinal哨兵都在监控某一个master节点,如果需要至少6个哨兵发现master挂掉后,才认为master真正down掉,那么这里就配置为6,最小配置1台master,1台slave,在二个机器上都启动sentinal的情况下,哨兵数只有2个,如果一台机器物理挂掉,只剩一个sentinal能发现该问题,所以这里配置成1,至于master1只是一个名字,可以随便起,但要保证3-6行都使用同一个名字
第4行,表示如果5s内master1没响应,就认为挂了
第5行,表示如果15秒后,master1仍没活过来,则启动failover,从剩下的slave中选一个升级为master
第6行,表示如果master重新选出来后,其它slave节点能同时并行从新master同步缓存的台数有多少个,显然该值越大,所有slave节点完成同步切换的整体速度越快,但如果此时正好有人在访问这些slave,可能造成读取失败,影响面会更广。最保定的设置为1,只同一时间,只能有一台干这件事,这样其它slave还能继续服务,但是所有slave全部完成缓存更新同步的进程将变慢。
sentinel.sh
./redis/bin/redis-sentinel ./sentinel.conf
测试连接客户端
./redis/bin/redis-cli -c -p
注意,-c参数必须有
redis3.0自带集群配置的更多相关文章
- hadoop-2.3.0-cdh5.1.0完全分布式集群配置HA配置
		
一.安装前准备: 操作系统:CentOS 6.5 64位操作系统 环境:jdk1.7.0_45以上,本次采用jdk-7u55-linux-x64.tar.gz master01 10.10.2.57 ...
 - hadoop-2.3.0-cdh5.1.0完全分布式集群配置及HA配置(待)
		
一.安装前准备: 操作系统:CentOS 6.5 64位操作系统 环境:jdk1.7.0_45以上,本次采用jdk-7u55-linux-x64.tar.gz master01 10.10.2.57 ...
 - Redis3.0.7 cluster/集群 安装配置教程
		
1.前言 环境:CentOS-6.7-i386-LiveDVD 安装的CentOs系统 节点: 6个节点,3个主节点.3个从节点(由于redis默认需要3个主节点,如果想每个主节点有一个从节点,这是最 ...
 - Mongo服务器集群配置【转】
		
http://www.cnblogs.com/wly923/tag/MongoDB/ 当前标签: MongoDB Mongo服务器集群配置学习三——分片 风行影者 2013-04-14 22:35 ...
 - Redis-5.0.0集群配置
		
版本:redis-5.0.0 参考:http://redis.io/topics/cluster-tutorial. 集群部署交互式命令行工具:https://github.com/eyjian/re ...
 - Redis-5.0.5集群配置
		
版本:redis-5.0.5 参考:http://redis.io/topics/cluster-tutorial. 集群部署交互式命令行工具:https://github.com/eyjian/re ...
 - Redis 3.0 Cluster集群配置
		
Redis 3.0 Cluster集群配置 安装环境依赖 安装gcc:yum install gcc 安装zlib:yum install zib 安装ruby:yum install ruby 安装 ...
 - redis5.0集群配置
		
介绍 redis自3.0版本以来支持主从模式的集群,可用哨兵监控集群健康状态,但这种方式的集群很不成熟,数据备份需要全量拷贝.在之后的版本才真正支持集群分片. 在redis5.0中去除了以redis- ...
 - Redis单机和集群配置(版本在5.0后)
		
摘抄并用于自己后查 单机版的配置: 1. 下载redis压缩包,然后解压缩文件(tar xzf): 2. 进入解压后的redis文件目录,编译redis源文件(make,没有c环境要gcc): 3. ...
 
随机推荐
- Javaworkers团队第一周项目总结
			
项目名称:游戏贪吃蛇 项目介绍: 贪吃蛇是一款相当经典的小游戏,我们团队决定用我们现有的java知识来实现它. 具体设计: 对象:蛇.果实 方向键:控制蛇的运动. 空格键:暂停游戏 ESC:推出游戏( ...
 - Python3基础 判断变量大于一个数并且小于另外一个数
			
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
 - css 基础 - 2
			
css 基础 - 2 一.文本样式: 文字竖着书写: 语法:writing-mode : lr-tb.tb-rl 参数:lr-tb:从左向右,从上往下 tb-rl:从上往下,从右向左 1.text-a ...
 - UOJ  #185【ZJOI2016】 小星星
			
题目链接:小星星 首先有个暴力很好想.令\(f_{i,j,S}\)表示把\(i\)这棵子树对应到原图中的\(S\)集合,\(i\)号点对应到了\(j\)号点的方案数.这玩意儿复杂度是\(O(3^nn^ ...
 - Composite(组合)
			
意图: 将对象组合成树形结构以表示“部分-整体”的层次结构.C o m p o s i t e 使得用户对单个对象和组合对象的使用具有一致性. 适用性: 你想表示对象的部分-整体层次结构. 你希望用户 ...
 - 【Jmeter】配置不同业务请求比例,应对综合场景压测
			
背景 在进行综合场景压测时,遇到了如何实现不同的请求所占比例不同的问题. 有人说将这些请求分别放到单独的线程组下,然后将线程组的线程数按照比例进行配置. 这种方法不是很好,因为服务器对不同的请求处理能 ...
 - maven3常用命令、java项目搭建、web项目搭建
			
------------------------------maven3常用命令--------------------------- 1.常用命令 1)创建一个Project mvn archety ...
 - [html5]HTML5中<section>和<article>的区别
			
一.section元素 从字面理解就是区块.部分的意思,相对于article元素更加广泛,每个区块都可以使用,比如页面里的导航菜单.文章正文.文章的评论等. 1.section元素用于对网站或应用程序 ...
 - notepad++个人专注
			
notepad++个人专注 快捷键 功能 1 Ctrl>>>>>>>>>> Ctrl + b 匹配括号 Ctrl + d 选中 ...
 - iOS多线程GCD详解
			
在这之前,一直有个疑问就是:gcd的系统管理多线程的概念,如果你看到gcd管理多线程你肯定也有这样的疑问,就是:并发队列怎么回事,即是队列(先进先出)怎么会并发,本人郁闷了好久,才发现其实cgd管理多 ...