部署集群以前,需求停掉以前的redis进程和哨兵;
redis cluster虽然支持集群,会自动进行主从分布,但实际上是不支持读写分离的。
1.redis cluster 重要配置
cluster-enabled
cluster-config-file <filename>
这是指定一个文件,供cluster模式下的redis实例将集群状态保存在那里,包括集群中其余机器的信息,好比节点的上线和下限,故障转移,不是咱们去维护的,给它指定一个文件,让redis本身去维护的
cluster-node-timeout <milliseconds>
节点存活超时时长,超过必定时长,认为节点宕机,master宕机的话就会触发主备切换,slave宕机就不会提供服务html
准备启动脚本
/ect/init.d 下 复制redis_6379 重命名为 redis_7001 修改相应端口
4.建立集群
yum install -y ruby
yum install -y rubygem
gem install redis
最后一步的时候报错了:redis须要 ruby version > 2.2的版本
参考后在线升级了ruby的版本:http://www.javashuo.com/article/p-cbdmvsiu-ko.html
cp /usr/local/redis-3.2.8/src/redis-trib.rb /usr/local/bin
redis-trib.rb create --replicas 1 192.168.1.107:7001 192.168.1.107:7002 192.168.1.108:7003 192.168.1.108:7004 192.168.1.105:7005 192.168.1.105:7006node
--replicas参数: 每一个master有几个slavemysql
最后使用 redis-trib.rb check 192.168.1.107:7001 检查redis cluster部署状况,也能够查询redis log日志redis
因为redis cluster不支持读写分离,在set get数据的时候会根据计算出来key的splot不一样 会提示move to
可使用 readonly 在从节点上读取主节点数据;
使用redis-cli -h host -p port -c 强制自动进行底层重定向sql
redis cluster 其余参数和命令参考:
http://blog.csdn.net/mysqldba23/article/details/67640478ruby