一、前述
本文将单台节点不同端口模拟集群方式。
二、具体搭建
前提是安装好redis具体可参考
1、规划
redis集群 3.x版本
物理节点1个指定3个主节点端口为7000、7001、7002对应的3个从节点端口为7003、7004、70052、创建配置
mkdir cluster-testcd cluster-testmkdir 7000 7001 7002 7003 7004 7005在7000-7005目录中创建redis.confredis.conf内容如下cluster-enabled yes #开启集群模式port 700x #<对应端口号>
3.进入对应子目录启动服务
启动所有服务,要进入子目录启动服务# cd 700x# redis-server redis.conf
也可以用脚本:
#!/bin/bashfor i in `seq 0 5`docd 700$iredis-server redis.conf &cd ..done
4、安装ruby解释器和redis模块
yum install ruby rubygems -y
gem install --local redis-3.3.0.gem
5、创建集群(指定主从)
在安装目录下的src中 ./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 \127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005自动分配了主从,自动分配了slots,所有槽都有节点处理,集群上线。
其中一个主节点与从节点的对应关系:
三、测试集群
1、客户端连接redis-cli -p 7000 -c (-c 使用集群模式,允许转向)
2.测试转向
存:
取:
在没有存入数据的节点上并没有数据:
测试数据具体分布如下:
date 7000
msg在7001234属于7000 7003abc 7001a 70023、测试主节点挂掉
好7000,7001,7002是主,7003是7000的从,那么这个时候把7000给ctrl+c掉,挂了,7003 一直报找不到主了:
欢迎打赏: