一、前述


本文将单台节点不同端口模拟集群方式。

二、具体搭建


1、规划

redis集群 3.x版本
物理节点1个
指定3个主节点端口为7000、7001、7002
对应的3个从节点端口为7003、7004、7005

2、创建配置

mkdir cluster-test
cd cluster-test
mkdir 7000 7001 7002 7003 7004 7005


在7000-7005目录中创建redis.conf
redis.conf内容如下
cluster-enabled yes  #开启集群模式
port 700x #<对应端口号>

【Redis篇】Redis集群安装与初始_子目录

3.进入对应子目录启动服务

启动所有服务,要进入子目录启动服务
# cd 700x
# redis-server redis.conf

也可以用脚本:

#!/bin/bash
for i in `seq 0 5`
do
cd 700$i
redis-server redis.conf &
cd ..
done

 

【Redis篇】Redis集群安装与初始_Redis_02

4、安装ruby解释器和redis模块

yum install ruby rubygems -y

gem install --local redis-3.3.0.gem

【Redis篇】Redis集群安装与初始_redis_03

 

 

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,所有槽都有节点处理,集群上线。

 

【Redis篇】Redis集群安装与初始_redis_04

【Redis篇】Redis集群安装与初始_redis_05

其中一个主节点与从节点的对应关系:

【Redis篇】Redis集群安装与初始_子目录_06

【Redis篇】Redis集群安装与初始_redis_07

三、测试集群

1、客户端连接
redis-cli -p 7000 -c (-c 使用集群模式,允许转向)

2.测试转向

存:

【Redis篇】Redis集群安装与初始_启动服务_08

取:

【Redis篇】Redis集群安装与初始_子目录_09

【Redis篇】Redis集群安装与初始_Redis_10

在没有存入数据的节点上并没有数据:

【Redis篇】Redis集群安装与初始_子目录_11

 

测试数据具体分布如下:

date 7000
msg在7001
234属于7000 7003
abc 7001
a 7002

3、测试主节点挂掉

 

好7000,7001,7002是主,7003是7000的从,那么这个时候把7000给ctrl+c掉,挂了,7003 一直报找不到主了:

【Redis篇】Redis集群安装与初始_子目录_12

 

 

【Redis篇】Redis集群安装与初始_redis_13

欢迎打赏: