Redis主从复制 、哨兵模式、redis集群

一、Redis主从复制的概念:是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为主节点(Master),后者称为从节点(Slave);数据的复制是单向的,只能由主节点到从节点。

1、redis作用:(1)数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。

           (2)故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。

            (3)负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。

       (4)高可用:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础。

     2、redis缺点:(1)故障恢复无法自动化;

                             (2)操作无法负载均衡;

                             (3)存储能力受到单机的限制。

二、安装Redis

yum -y install    epel-release

yum -y install redis

   

cd /usr/local

mkdir redis_m_s

mkdir master_conf  slave_conf

cp /etc/redis.conf master_conf/

cp /etc/redis.conf slave_conf/

vim /etc/redis.conf master_conf    slave_conf 进行配置

master_conf配置

bind  0.0.0.0

port 6379

protected-mode    no

daemonize    yes

#slaveof 192.168.115.150  6379

找到slaveof 192.168.115.150  6379注释掉

slave_conf配置

bind  0.0.0.0

port  6380

protected-mode   no

slaveof 192.168.115.150 6379

daemonize   yes

然后启动 redis   redis-server  /usr/local/redis_m_s/master_conf/redis.conf

                           redis-server  /usr/local/redis_m_s/slave_conf/redis.conf

   使用 netstat -antpu | grep redis查看有没有端口信息

 登入进去    使用role 查看master信息

 哨兵模式概念:是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的 Master 并将所有 Slave 连接到新的 Master。所以整个运行哨兵的集群的数量不得少于3个节点。

vim /etc/redis-sentinel.conf

port  26379

bind   0.0.0.0

sentinel monitor mymaster 192.168.163.10 6379 2

daemonize   yes

protected-mode   no

redis-sentinel.conf1的port不改    其余都要改掉

启动命令 redis-sentinel   配置文件路径

停止master后,slave会通过选举产生新的master  但是选举时间长

哨兵配置文件会自动修改监听的master节点地址为新的master节点地址

 概念:Redis3.0版本以上开始支持cluster,采用的是hashslot(hash槽),可以将多个Redis实例整合在一起,形成一个群集,也就是将数据分散到群集的多台机器上。

原理;Redis Cluster是一个无中心的结构,每个节点都保存数据和整个群集的状态。每个节点都会保存其他节点的信息,知道其他节点所负责的槽,并且会与其他节点定时发送心跳信息,能够及时感知群集中异常的节点。

一、redis安装

yum  -y  install epel-release

yum -y install    redis

mkdir /etc/redis

mv/etc/redis.conf    /etc/redis/6379.conf

cd /etc/redis

mkdir {6380..6381}.conf

配置文件

vim /etc/redis/6379.conf

port   【6379~6384】

cluster-enabled yes

cluster-config-file nodes-【6379~6384】.conf

cluster-node-timeout 15000

启动 redis-server /etc/redis/6379.conf

        redis-cli -p 6379

        将其他节点加入集群

 CLUSTER MEET 192.168.115.150 6380

 CLUSTER MEET 192.168.115.150  6381

 CLUSTER MEET 192.168.115.150  6382

 CLUSTER MEET 192.168.115.150  6383

 CLUSTER MEET 192.168.115.150  6384

分配slot

redis-cli -p 6379 cluster addslots {0..5461}

redis-cli -p 6381 cluster addslots {5462..10922}

redis-cli -p 6383 cluster addslots {10923..16383}

建立主从关系

redis-cli -p 6380 cluster replicate 节点id

查看节点    idcluster nodes

查看集群状态 cluster info

在主上创建一个rgq

去从进行验证

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值