Redis5集群新特性

Redis的高可用

Redis高可用一般有三种模式:

  • 主从(一主一从)
  • Redis Sentinel(哨兵模式)
  • Redis Cluster (Master、Cluster)

主从

Redis的一主一从其实非常简单,只需要在配置文件中设置如下:
slaveof IP 6379
如:slaveof 192.168.0.2 6379

哨兵模式

哨兵模式最低其实是一主三从

关键配置如下:

sentinel.conf的配置文件:

主节点配置

port 26379
daemonize yes
logfile "26379.log"
dir "./"
#sentinel监控的IP 端口号 sentinel通过投票后认为mater宕机的数量,此处为至少2个
sentinel monitor mymaster 192.168.132.128 7000 2 
#20秒ping不通主节点的信息,主观认为master宕机
sentinel down-after-milliseconds mymaster 30000
#故障转移后重新主从复制,1表示串行,>1并行
sentinel parallel-syncs mymaster 1
#故障转移开始,60秒内没有完成,则认为转移失败
sentinel failover-timeout mymaster 600000
bind 0.0.0.0

从节点配置:

port 26380
daemonize yes
logfile "26380.log"
dir "./"
sentinel monitor mymaster 192.168.132.128 7000 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 600000
bind 0.0.0.0

第二个从节点配置:

port 26381
daemonize yes
logfile "26381.log"
dir "./"
sentinel monitor mymaster 192.168.132.128 7000 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 600000
bind 0.0.0.0

Redis5新特性:主从Master/Slave

1、先下载Redis,然后复制几份redis.conf,如果需要几个集群就用几个,一般是三主三从高可用,复制六份

redis.conf修改如下

# 根据实际修改
port 5001
daemonize yes
# port根据实际的端口修改,和实际的路径进行调整
logfile /var/run/redis_port.pid	
# port根据实际的端口修改,和实际的路径进行调整,如5001,则改成redis_5001.log
logfile "/xxx/xxx/redis_port.log"
# 目录
dir /xxxx/xxx
# 每秒钟刷新一次
appendfsync everysec
# 打开集群
cluster-enable yes
# 打开集群配置
cluster-config-file nodes-6379.conf
# 打开最大失联时间
cluster-node-timeout 15000

2、其他几份文件只需要替换配置文件的端口号即可,如第二台机器是5002,则把redis.conf里面的5001改成5002即可

3、按照第二步改了其他的五个文件,然后复制五份,然后修改配置

4、启动redis:redis-server /xxx/xxx/redis-port.conf,逐一启动六个(从5001-5006)。这个时候就有六个redis的进程

5、集群命令
1)Ruby创建方法:redis-trib.rb create --replicas 1 192.168.0.147:500*
2)新特性创建方法:redis-cli --cluster create 192.168.1.147:500* --cluster-replicas 1
3)主从 = 1 : cluster-replicas 1

你可能感兴趣的:(DB)