天天看点

redis 集群_Redis三主三从集群

Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。

一组Redis Cluster是由多个Redis实例组成,官方推荐使用6实例,其中3个为主节点,3个为从节点。一旦有主节点发生故障的时候,Redis Cluster可以选举出对应的从节点成为新的主节点,继续对外服务,从而保证服务的高可用性。

redis 集群_Redis三主三从集群
redis 集群_Redis三主三从集群
redis 集群_Redis三主三从集群

1.png

部署环境:

IP地址 端口 角色 Redis版本
10.10.41.111 7000 redis-master 5.0.8
10.10.41.111 7001 redis-slave 5.0.8
10.10.41.112 7000 redis-master 5.0.8
10.10.41.112 7001 redis-slave 5.0.8
10.10.41.113 7000 redis-master 5.0.8
10.10.41.113 7001 redis-slave 5.0.8

1.安装Redis

1、安装C/C++环境

Redis编译时需要使用C/C++环境:

yum install -y gcc gcc-c++ make

2、下载Redis安装包

下载地址:http://download.redis.io/releases/

cd /data

wget http://download.redis.io/releases/redis-5.0.8.tar.gz

3、解压、编译

tar -zxvf redis-5.0.8.tar.gz

cd redis-5.0.8

make

4、创建Redis相关工作目录(目录可自定义)

mkdir /data/redis-cluster/{data/{redis_7000,redis_7001},conf,log} -p

5、复制redis配置文件

cd redis-5.0.8

cp redis.conf /data/redis-cluster/conf/redis_7000.conf

cp redis.conf /data/redis-cluster/conf/redis_7001.conf

2.修改Redis配置文件

1、修改redis-master配置文件

vi /data/redis-cluster/conf/redis_7000.conf

port 7000             #修改redis监听端口(可以自定义)

2、修改redis-slave配置文件

vi  /data/redis-cluster/conf/redis_7001.conf   #修改redis-slave配置文件,具体如下:

port 7001

3.分发到集群其他服务器

复制redis以及工作目录到其他服务器

scp -r redis-5.0.8 redis-cluster [email protected]:/data

scp -r redis-5.0.8 redis-cluster [email protected]:/data

设置软链接,方便启动redis服务

ln -s /data/redis-5.0.8/src/redis-server /usr/bin/redis-server

ln -s /data/redis-5.0.8/src/redis-cli /usr/bin/redis-cli

4.启动Redis

集群内每台服务器分别启动两个redis

redis-server /data/redis-cluster/conf/redis_7000.conf

redis-server /data/redis-cluster/conf/redis_7001.conf

验证是否启动成功

ps -ef | grep redis

查看版本

redis-cli --version

redis-server --version

5.创建Redis Cluster

注意:redis5.0以上集群创建方式改为了C编写的redis-cli创建,不用再安装麻烦的ruby。

创建集群,--cluster-replicas 1指定从库数量1,创建顺序三主-三从。即主-主-主-从-从-从。

如果redis设置了密码,则创建集群时需要添加密码信息 -a 密码:

redis-cli -a 123456 --cluster create 10.10.41.111:7000 10.10.41.112:7000 10.10.41.113:7000 10.10.41.111:7001  10.10.41.112:7001  10.10.41.113:7001 --cluster-replicas 1

redis 集群_Redis三主三从集群

2.png

确认集群配置信息,确认无误则输入 yes 并按回车

redis 集群_Redis三主三从集群

3.png

出现以上信息,表示集群配置成功。

6验证集群Redis-Cluster

1、登录redis集群

redis-cli -a 123456 -h 10.10.41.111 -p 7000 -c-a Redis密码,-c表示集群模式 ,指定IP和端口

注意:可能会redirected进入到其它server

2、验证集群信息

10.10.41.111:7000> cluster info      #查看集群信息

redis 集群_Redis三主三从集群

4.png

10.10.41.111:7000> cluster nodes    #查看集群节点列表

redis 集群_Redis三主三从集群

5.png

查看集群内主从关系:

redis-cli -a 123456 -h 10.10.41.111 -p 7000 -c cluster slots | xargs  -n8 | awk '{print $3":"$4"->"$6":"$7}' | sort -nk2 -t ':' | uniq

3、进行数据验证操作

插入数据:

10.10.41.111:7000> set mykey "Hello Redis"

10.10.41.113:7000> get mykey

登录其他节点查看数据:

redis-cli -a 123456 -h 10.10.41.112 -p 7000 -c

10.10.41.112:7000> get mykey

4、验证集群故障转移

将其中一个redis-master停止掉后、其对应的slave节点会被选举为master节点,旧master节点重新恢复时,其角色会成为slave。具体可自行验证,验证时可开启日志查看相关信息。

继续阅读