一.了解redis

redis是一款开源工具,想了解一款开源工具,最直接的方式就是去github上查看此开源项目,看一下官方对redis的介绍

gozero redis集群 redis集群工具_配置文件

 

gozero redis集群 redis集群工具_数据库_02

 简单翻译一下redis是一款数据结构服务器。提供一组命令去操作多种数据结构。采用server-client的模式通过tcp和一些简单的协议来传输数据。

二.redis下载

可以去redis官网下载想要的版本.

Index of /releases/

三.redis安装(linux单机版)

1.先安装虚拟机

本人使用VMware

2.将安装包上传到虚拟机,解压安装包

tar -zxvf redis-5.0.8.tar.gz

3.进入redis目录,编译redis

没有安装gcc的先执行 yum install gcc 安装gcc

然后执行make命令进行编译

4.make install 进行安装

5.reids 默认安装路径  /usr/local/bin

6. 启动redis

服务

redis-server --port 6379

客户端

./redis-cli

7.redis相关文件

服务器启动命令

redis-server

客户端启动命令

redis-cli

核心配置文件

redis.conf

RDB文件检查工具(快照持久化文件)

redis-check-dump

AOF文件修复工具

redis-check-aof

8.修改配置文件

gozero redis集群 redis集群工具_gozero redis集群_03

 四.哨兵模式部署

在一台服务器上部署6个实例来模拟哨兵模式,3个redis实例1主2从,3个哨兵实例

分为两步:

1.配置主从

准备三分配置文件

gozero redis集群 redis集群工具_配置文件_04

 先配置主节点,添加配置如下

port 6001
daemonize yes
pidfile /var/run/redis-6001.pid
logfile "6001.log"
dir ./data6001

再配置从节点

port 6002
daemonize yes
pidfile /var/run/redis-6002.pid
logfile "6002.log"
dir ./data6002
slaveof 127.0.0.1 6001

先启动主节点,再启动从节点

查看redis进程信息

gozero redis集群 redis集群工具_数据库_05

 查看主从节点配置信息

分别连接主从节点客户端,在客户端使用info replication命令查看角色信息

gozero redis集群 redis集群工具_缓存_06

 

gozero redis集群 redis集群工具_配置文件_07

 2.配置哨兵

修改配置文件sentinel6001.conf如下

port 26379
daemonize yes
pidfile /var/run/redis-sentinel26379.pid
logfile "26379.log"
protected-mode no
sentinel monitor mymaster 127.0.0.1 6001 2
sentinel down-after-milliseconds mymaster 3000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 18000

修改另外两个配置文件

port 26380
daemonize yes
pidfile /var/run/redis-sentinel26380.pid
logfile "26380.log"
protected-mode no
sentinel monitor mymaster 127.0.0.1 6001 2
sentinel down-after-milliseconds mymaster 3000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 18000

启动哨兵

gozero redis集群 redis集群工具_gozero redis集群_08

 3.查看集群信息

gozero redis集群 redis集群工具_redis_09

 客户端连接到26379

gozero redis集群 redis集群工具_redis_10

 使用info sentinel 查看哨兵配置信息

gozero redis集群 redis集群工具_数据库_11

 模拟故障

gozero redis集群 redis集群工具_gozero redis集群_12

 重新选出master

gozero redis集群 redis集群工具_gozero redis集群_13

 五.分片集群部署

模拟一个三主三从的分片集群 之前有了6001,6002,6003三个端口,我们再加6004,6005,6006三个端口来做从节点,并将之前的6001,6002,6003的数据文件夹清空,不然无法创建集群

1.修改配置文件加上如下内容开启集群即可

# 开启集群功能
cluster-enabled yes
# 集群的配置文件名称,不需要我们创建,由redis自己维护
cluster-config-file nodes-6001.conf
# 节点心跳失败的超时时间
cluster-node-timeout 5000

将配置文件复制为6份,修改不同的端口

运行6个实例,查看运行情况

gozero redis集群 redis集群工具_缓存_14

 使用命令创建集群

gozero redis集群 redis集群工具_gozero redis集群_15

测试一下集群是否可用 命令记得加-c 参数

 

gozero redis集群 redis集群工具_配置文件_16

 模拟故障: kill掉6001,redis自动重新选举6004为新的master

gozero redis集群 redis集群工具_gozero redis集群_17

 重启6001后6001自动变为slave

gozero redis集群 redis集群工具_数据库_18

 注意配置文件中 protected-mode 默认为yes 只能本机访问redis服务,想从其他机器访问redis服务可以改为no 但不建议,推荐使用bind配置地址,或者设置密码解决。