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. ...
随机推荐
- 20145325张梓靖 实验四 "Andoid开发基础"
20145325张梓靖 实验四 "Andoid开发基础" 实验内容 使用 Android Studio 设计"Hello" 设计过程 创建项目 选择.xml中的 ...
- git基本配置及使用
目录 设置git git remote git-flow git merge 与 git rebase 参考 Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要S ...
- BZOJ 1875 【SDOI2009】 HH去散步
题目链接:HH去散步 如果不考虑不能走上一次走的边的话,这道题就是一个矩乘的裸题. 现在有了这个条件其实也很好做.我们平常的矩阵都是按点建的,\(A_{i,j}\)表示从第\(i\)个点走到第\(j\ ...
- mac 下安装 express
express为js的后端框架, 终端 >>> npm install -g express-generator 然后cd到您要创建项目的目录之下,输入 >>> ...
- js脚本控制图片水平与垂直居中
使用方法: 1.定义ResizeImg(obj)方法 function ResizeImg(obj) { var boxHeight = $(".box").height(); v ...
- install ros-indigo-filters
CMake Warning at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake: (find_package): Could not fi ...
- Qt5_vs2013_error_C2001: 常量中有换行符__资料
ZC: Win7x64 + Qt551(x86) + vs2013(x86) ZC: 问题:UTF-8 在源码文件中有中文时,有时会报编译错误:C2001 & C2143 分析: --> ...
- [osg][osgearth]osg的分页加载,代码和结构图
DatabasePager加载数据的过程: 多线程 使用DatabasePager加载数据的流程: 左侧的图框表示数据的检索和输入, 中间的白色框表示用于数据存储的内存空间,而右边的图框表示存储数据的 ...
- TensorFlow实现FM
看了网上的一些用tf实现的FM,很多都没有考虑FM实际使用中数据样本稀疏的问题. 我在实现的时候使用 embedding_lookup_sparse来解决这个问题. 对于二阶部分,由于embeddin ...
- 雷林鹏分享:Ruby Socket 编程
Ruby Socket 编程 Ruby提供了两个级别访问网络的服务,在底层你可以访问操作系统,它可以让你实现客户端和服务器为面向连接和无连接协议的基本套接字支持. Ruby 统一支持应用程的网络协议, ...