精华内容
下载资源
问答
  • Redis 哨兵模式,哨兵模式优缺点,哨兵模式配置文件的配置信息 废话不多说,直接上代码(总结) Redis 哨兵模式 1.当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段...

    哈喽,欢迎来到小朱课堂,下面开始你的学习吧!

    Redis 哨兵模式,哨兵模式优缺点,哨兵模式配置文件的配置信息
    废话不多说,直接上代码(总结)

    Redis 哨兵模式

    1.当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预,费事费力,还会造成一段时间内服务不可用。这不是一种推荐的方式。
    2.这时,我们考虑哨兵模式。哨兵模式是一种特殊的模式,是一个独立的进程,它会向redis服务器发送命令,等待redis服务器响应,从而监控多个redis服务器的运行状态,如果监控到主服务器宕机,则会通过选举算法将一台从机选举为新得主机,然后通过发布订阅模式通知其他服务器并修改他们的配置文件,设置新的主机信息。
    3.多哨兵模式:当然一个哨兵也不满足高可用的需求,所以需要有时需多个哨兵同时监控,各个哨兵之间也会相互监控,例如有3个哨兵3个redis服务器,这样就会开启15条监控线。如果哨兵1监控到主服务器下线【主观下线】,不会立即选举新的主机,而是等后面的哨兵检测,当一定数量的哨兵都检测到主服务器下线,则进行投票选举新主机,再过发布订阅模式,让各个哨兵把自己监控的从服务器实现切换主机【客观下线】。
    4.使用命令:redis-sentinel sentinel.conf来开启哨兵。

    哨兵模式优缺点

    优点:
    1、哨兵集群,基于主从复制模式,所有的主从配置优点,它都有
    2、主从可以切换,故障可以转移,高可用性的系统
    3、哨兵模式就是主从模式的升级,手动到自动,更加健壮
    缺点:
    1、Redis不好在线扩容的,集群容量一旦到达上限,在线扩容就十分麻烦
    2、哨兵模式的配置繁琐

    哨兵模式配置文件的配置信息

    #Example sentinel.conf
    
    #哨兵sentinel实例运行的端口 默认26379
    port 26379
    
    #哨兵sentinel的工作目录
    dir /tmp
    
    #哨兵sentinel监控的redis主节点的 ip port
    #master-name可以自己命名的主节点名字,只能由字母A-z、数字0-9、这三个字符".-_"组成。
    #quorum 配置多少个sentinel哨兵统一认为master主节点失联 那么这时客观上认为主节点失联了
    #sentinel monitor <master-name> <ip> <redis-port> <quorum>
    sentinel monitor mymaster 127.0.0.1 6379 2
     
    #当在Redis实例中开启了requirepass foobared授权密码,这样所有连接Redis实例的客户端都要提供密码 
    #设置哨兵sentinel连接主从的密码,注意必须为主从设置一样的验证密码
    # sentinel auth-pass <master-name> <password>
    sentinel auth-pass mymaster XXX
    #指定多少毫秒之后主节点没有应答哨兵,此时哨兵主观上认为主节点下线,默认30秒
    # sentinel down-after-milliseconds <master-name> <milliseconds>
    sentinel down-after-milliseconds mymaster 30000
    
    # 这个配置项指定了在发生failover主备切换(选举)时多可以有多少个slave同时对新的master进行同步,数字越小,完成failover所需的时间就越长,但是如果这个数字越大,就意味着越多的slave因为replication而不可用。可以通过将这个值设为1来保证每次只有一个slave处于不能处理命令请求的状态。
    # sentinel parallel-syncs <master-name> <numslaves>
    sentinel parallel-syncs mymaster 1
    
    #故障转移的超时时间failover-timeout可以用在以下这些方面:
    #1. 同一个sentinel对同一个master两次failover之间的间隔时间。
    #2. 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。
    #3.当想要取消一个正在进行的failover所需要的时间。
    #4.当进行failover时,配置所有slaves指向新的master所需的大时间。不过,即使过了这个超时,slaves依然会被正确配置为指向master,但是就不按parallel-syncs所配置的规则来了#默认三分钟
    # sentinel failover-timeout <master-name> <milliseconds>
    sentinel failover-timeout mymaster 180000
    
    #SCRIPTS EXECUTION
    
    #配置当某一事件发生时所需要执行的脚本,可以通过脚本来通知管理员,例如当系统运行不正常时发邮件通知相关人员。
    #对于脚本的运行结果有以下规则:
    #若脚本执行后返回1,那么该脚本稍后将会被再次执行,重复次数目前默认为10
    #若脚本执行后返回2,或者比2更高的一个返回值,脚本将不会重复执行。
    #如果脚本在执行过程中由于收到系统中断信号被终止了,则同返回值为1时的行为相同。#一个脚本的大执行时间为60s,如果超过这个时间,脚本将会被一个SIGKILL信号终止,之后重新执行。
    
    #通知型脚本:当sentinel有任何警告级别的事件发生时(比如说redis实例的主观失效和客观失效等等),将会去调用这个脚本,这时这个脚本应该通过邮件,SMS等方式去通知系统管理员关于系统不正常运行的信息。调用该脚本时,将传给脚本两个参数,一个是事件的类型,一个是事件的描述。如果sentinel.conf配 置文件中配置了这个脚本路径,那么必须保证这个脚本存在于这个路径,并且是可执行的,否则sentinel无 法正常启动成功。
    #通知脚本
    # sentinel notification-script <master-name> <script-path>
    sentinel notification-script mymaster /var/redis/notify.sh
    
    #客户端重新配置主节点参数脚本
    # 当一个master由于failover而发生改变时,这个脚本将会被调用,通知相关的客户端关于master地址已经发生改变的信息。
    #以下参数将会在调用脚本时传给脚本:
    # <master-name> <role> <state> <from-ip> <from-port> <to-ip> <to-port>
    # 目前<state>总是“failover”, # <role>是“leader”或者“observer”中的一个。
    #参数 from-ip, from-port, to-ip, to-port是用来和旧的master和新的master(即旧的slave)通信的
    # 这个脚本应该是通用的,能被多次调用,不是针对性的。
    # sentinel client-reconfig-script <master-name> <script-path>
    sentinel client-reconfig-script mymaster /var/redis/reconfig.sh
    

    搬砖路上,希望对你有帮助!可以关注一下哟,持续更新哟! 有问题可以私聊博主,快发表一下你的看法吧!

    展开全文
  • redis哨兵模式配置

    2021-04-19 14:35:11
    Redis哨兵 介绍 Redis主从只能满足备份的需求!...当master宕机后会将一台slave升级为master,同时会通知其他的slave修改配置文件,修改master的IP为新的master!哨兵会保证我们的redis集群中一直是有一台可用的ma

    Redis哨兵
    介绍
    Redis主从只能满足备份的需求!如果Master宕机的话,还得手动配置Slave才能够使用!并不会自动的切换到Slave继续工作!中间耗时费力!无法实现真正的高可用!

    哨兵 sentine是官方提供的高可用方案!Redis哨兵是一个独立的进程,在运行过程当中会监控所有redis节点的工作状态!当master宕机后会将一台slave升级为master,同时会通知其他的slave修改配置文件,修改master的IP为新的master!哨兵会保证我们的redis集群中一直是有一台可用的master在可以使用
    我们为了更有保障的运行哨兵,我们一般会配置多个哨兵!

    当多个哨兵在同时工作时,master的下线状态有两个:主观下线和客观下线
    当master出现故障后,如果只是一个哨兵发现了不可用,,此时这种现象被称之为:主观下线,在主观下线的状态下,并不会发生故障转移!当其他的哨兵也发现master不可用后,开始发起投票,当票数达到预先设置的值后,那么就会开始执行failover操作,开始故障转移!升级一台slave为master,同时让其他的slave修改配置,需改master的IP为新的Master。这种现象我们成为:客观下线
    部署哨兵集群
    整理思路
    做哨兵集群,我们至少需要3台才能有完整的效果!
    准备3台虚拟机,下图如下
    在这里插入图片描述

    我们将Redis配置为一主两从模式,同时在每个redis-server再上安装哨兵,哨兵监控每个redis的状态

    IP规划如下:
    Redis Master:192.168.189.161
    Redis Slave1: 192.168.189.162
    Redis Slave2: 192.168.189.163
    配置redis一主两从集群
    3台主机上做如下操作:
    安装redis
    上传redis安装包到服务器
    在这里插入图片描述

    安装依赖工具gcc
    在这里插入图片描述

    解压安装包,安装redis
    在这里插入图片描述
    在这里插入图片描述

    配置redis
    配置master
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    启动redis master
    在这里插入图片描述

    配置两台slave,配置如下
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    测试主从
    登录master
    在这里插入图片描述

    执行:info replication 查看主从复制的信息
    在这里插入图片描述

    创建一个键值对儿
    在这里插入图片描述

    在从上获取,测试是否同步
    在这里插入图片描述

    配置哨兵
    我们在3台redis-server虚拟机上配置3个哨兵
    3台虚拟机上同时操作
    修改配置文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    将修改好的配置文件发送到另外两台主机上
    在这里插入图片描述
    在这里插入图片描述

    启动所有主机的哨兵
    在这里插入图片描述

    查看日志可以看到哨兵之间互相都可发现,并且监控起了master
    在这里插入图片描述

    测试停止master
    停止redis-server
    在这里插入图片描述

    查看日志
    在这里插入图片描述

    登陆162查看信息,验证到162已经被升级为master,同时拥有一个slave
    在这里插入图片描述

    至此哨兵配置完毕

    展开全文
  • Redis哨兵模式配置

    2018-03-05 09:53:56
    Redis哨兵模式配置 以redis-4.0.6为例,需要先解压,建议一个ip或者地址建一个文件夹将 拷入,修改如下:主 127.0.0.1:6379从 127.0.0.1:6480从 127.0.0.1:6480一主二从的配置文件 redis.conf设置需要修改redis....

                             Redis哨兵模式配置

          以redis-4.0.6为例,需要先解压,建议一个ip或者地址建一个文件夹将
            
    拷入,修改如下:
    1. 127.0.0.1:6379

    2. 127.0.0.1:6480

    3. 127.0.0.1:6480

    一主二从的配置文件 redis.conf设置

    1. 需要修改redis.cofig port(port=端口号),需要修改从的就可以,如果主的端口需要更改,跟从的相同

      2.在从的当中配置主的IP+端口# slaveof <masterip> <masterport>

      例:slaveof 127.0.0.1:6379

      slaveof IP:主端口

    三个哨兵的sentinel.conf配置

    1. 哨兵需要修改sentinel.confsentinel monitor mymaster 属性

      例:sentinel monitor mymaster 127.0.0.1 6379 2

      sentinel monitor mymaster IP 主端口2

      注意:IP端口间的空格

    2. 更改sentinel.confport(port=端口号)更改成哨兵端口,一般情况下需要都是将端口加20000

      以此配置文件为例:三个哨兵的端口分别是26379,26480,26481

      如果需要远程连接redis或者请更改redis.cofig,sentinel.confprotected-mode(保护模式)默认是yes改成no就可以远程访问了

      所有配置文件都需要更改

    展开全文
  • Redis 哨兵模式配置

    2021-02-20 08:44:02
    1 环境资源 虚拟机服务器 ...2.1.1 修改配置文件 [root@localhost ~]# cd /usr/local/redis/ [root@localhost redis]# ll 总用量 68 -rw-r--r--. 1 root root 61847 2月 8 17:14 6379.conf drwxr-

    1 环境资源

    虚拟机服务器 IP
    Master 192.168.51.4
    Slave1 192.168.51.5
    Slave2 192.168.51.6

    2 配置哨兵

    2.1 master

    2.1.1 修改配置文件

    [root@localhost ~]# cd /usr/local/redis/
    [root@localhost redis]# ll
    总用量 68
    -rw-r--r--. 1 root root 61847 2月   8 17:14 6379.conf
    drwxr-xr-x. 2 root root   134 9月  24 2017 bin
    -rw-r--r--. 1 root root   854 2月  16 14:00 sentinel.conf
    drwxr-xr-x. 2 root root    44 2月  15 22:02 working
    [root@localhost redis]#  vi sentinel.conf
    
    # Base configuration
    # 端口号
    port 26379
    # pid文件位置
    pidfile "/usr/local/redis/sentinel/redis-sentinel.pid"
    # 工作目录
    dir "/usr/local/redis/sentinel"
    # 是否后台运行
    daemonize yes
    # 是否启用安全模式(非外部访问)
    protected-mode no
    # 日志文件位置
    logfile "/usr/local/redis/sentinel/redis-sentinel.log"
    
    # Core configuration
    # 配置哨兵
    sentinel monitor auskat-master 192.168.51.4 6379 2
    # 密码
    sentinel auth-pass auskat-master auskat
    # master被sentinel认定为失效的间隔时间
    sentinel down-after-milliseconds auskat-master 30000
    # 剩余的slaves重新和新的master做同步的并行个数
    sentinel parallel-syncs auskat-master 1
    # 主备切换的超时时间,哨兵要去做故障转移,这个时候哨兵也是一个进程,如果他没有去执行,超过这个时间后,会由其他的哨兵来处理
    sentinel failover-timeout auskat-master 180000
    

    2.1.2 创建目录

    [root@localhost redis]# mkdir /usr/local/redis/sentinel -p
    

    2.1.3 启动哨兵

    [root@localhost redis]# redis-sentinel sentinel.conf
    [root@localhost redis]# ps -ef | grep redis
    root      16596      1  0 07:38 ?        00:00:42 /usr/local/bin/redis-server 0.0.0.0:6379
    root      18725      1  2 14:11 ?        00:00:00 redis-sentinel *:26379 [sentinel]
    root      18730  18414  0 14:12 pts/1    00:00:00 grep --color=auto redis
    

    2.1.4 拷贝配置文件

    如果没有安装scp,执行下命令 yum -y install scp

    拷贝到slave1

    [root@localhost redis]# scp sentinel.conf  root@192.168.51.5:/usr/local/redis
    root@192.168.51.6's password: 
    sentinel.conf 
    

    拷贝到slave2

    [root@localhost redis]# scp sentinel.conf  root@192.168.51.6:/usr/local/redis
    root@192.168.51.6's password: 
    sentinel.conf 
    

    2.2 slave1

    2.2.1 创建目录

    [root@localhost ~]# cd /usr/local/redis/
    [root@localhost redis]# mkdir /usr/local/redis/sentinel -p
    

    2.2.2 启动哨兵

    [root@localhost redis]# redis-sentinel sentinel.conf
    [root@localhost redis]# ps -ef | grep redis
    root      16596      1  0 07:38 ?        00:00:42 /usr/local/bin/redis-server 0.0.0.0:6379
    root      18725      1  2 14:11 ?        00:00:00 redis-sentinel *:26379 [sentinel]
    root      18730  18414  0 14:12 pts/1    00:00:00 grep --color=auto redis
    

    2.3 slave2

    2.3.1 创建目录

    [root@localhost ~]# cd /usr/local/redis/
    [root@localhost redis]# mkdir /usr/local/redis/sentinel -p
    

    2.3.2 启动哨兵

    [root@localhost redis]# redis-sentinel sentinel.conf
    [root@localhost redis]# ps -ef | grep redis
    root      16596      1  0 07:38 ?        00:00:42 /usr/local/bin/redis-server 0.0.0.0:6379
    root      18725      1  2 14:11 ?        00:00:00 redis-sentinel *:26379 [sentinel]
    root      18730  18414  0 14:12 pts/1    00:00:00 grep --color=auto redis
    

    3 功能测试

    3.1 查看哨兵信息

    master机器上连接redis,查看信息

    [root@localhost ~]# redis-cli
    127.0.0.1:6379> auth auskat
    OK
    127.0.0.1:6379> info replication
    # Replication
    role:master
    connected_slaves:2
    slave0:ip=192.168.51.6,port=6379,state=online,offset=55875,lag=0
    slave1:ip=192.168.51.5,port=6379,state=online,offset=55875,lag=0
    master_replid:89019a6d7bb98860f7d727d8361e778a6cad3e92
    master_replid2:0000000000000000000000000000000000000000
    master_repl_offset:55875
    second_repl_offset:-1
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:1
    repl_backlog_histlen:55875
    127.0.0.1:6379> 
    

    slave1上连接redis,查看信息

    [root@localhost redis]# redis-cli
    127.0.0.1:6379> auth auskat
    OK
    127.0.0.1:6379> info replication
    # Replication
    role:slave
    master_host:192.168.51.4
    master_port:6379
    master_link_status:up
    master_last_io_seconds_ago:2
    master_sync_in_progress:0
    slave_repl_offset:519987
    slave_priority:100
    slave_read_only:1
    connected_slaves:0
    master_replid:89019a6d7bb98860f7d727d8361e778a6cad3e92
    master_replid2:0000000000000000000000000000000000000000
    master_repl_offset:519987
    second_repl_offset:-1
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:1
    repl_backlog_histlen:519987
    

    slave2上连接redis,查看信息

    [root@localhost redis]# redis-cli 
    127.0.0.1:6379> auth auskat
    OK
    127.0.0.1:6379> info replication
    # Replication
    role:slave
    master_host:192.168.51.4
    master_port:6379
    master_link_status:up
    master_last_io_seconds_ago:0
    master_sync_in_progress:0
    slave_repl_offset:528985
    slave_priority:100
    slave_read_only:1
    connected_slaves:0
    master_replid:89019a6d7bb98860f7d727d8361e778a6cad3e92
    master_replid2:0000000000000000000000000000000000000000
    master_repl_offset:528985
    second_repl_offset:-1
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:1663
    repl_backlog_histlen:527323
    

    3.2 查看日志信息

    [root@localhost redis]# tail -f /usr/local/redis/sentinel/redis-sentinel.log
    18724:X 16 Feb 2021 14:11:59.828 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    18724:X 16 Feb 2021 14:11:59.828 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=18724, just started
    18724:X 16 Feb 2021 14:11:59.828 # Configuration loaded
    18725:X 16 Feb 2021 14:11:59.920 * Increased maximum number of open files to 10032 (it was originally set to 1024).
    18725:X 16 Feb 2021 14:11:59.922 * Running mode=sentinel, port=26379.
    18725:X 16 Feb 2021 14:11:59.922 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
    18725:X 16 Feb 2021 14:11:59.932 # Sentinel ID is eb24234aa458e8cc09278fd35e0de1b2d05ec47a
    18725:X 16 Feb 2021 14:11:59.932 # +monitor master auskat-master 192.168.51.4 6379 quorum 2
    18725:X 16 Feb 2021 14:11:59.948 * +slave slave 192.168.51.6:6379 192.168.51.6 6379 @ auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:11:59.949 * +slave slave 192.168.51.5:6379 192.168.51.5 6379 @ auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:13:54.628 * +sentinel sentinel a22ea4b2dbb61c34f337b533bbb2e04e376bbdaa 192.168.51.5 26379 @ auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:14:19.326 * +sentinel sentinel 8f7db63bce26663c1d0c2616024ac66fa9d560c4 192.168.51.6 26379 @ auskat-master 192.168.51.4 6379
    

    3.3 切换master

    3.3.1 停止master

    [root@localhost ~]# /etc/init.d/redis_init_script stop
    Stopping ...
    Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
    Waiting for Redis to shutdown ...
    Redis stopped
    

    日志信息

    18725:X 16 Feb 2021 14:55:55.371 # +sdown master auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:55.443 # +odown master auskat-master 192.168.51.4 6379 #quorum 2/2
    18725:X 16 Feb 2021 14:55:55.443 # +new-epoch 1
    18725:X 16 Feb 2021 14:55:55.443 # +try-failover master auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:55.444 # +vote-for-leader eb24234aa458e8cc09278fd35e0de1b2d05ec47a 1
    18725:X 16 Feb 2021 14:55:55.446 # 8f7db63bce26663c1d0c2616024ac66fa9d560c4 voted for eb24234aa458e8cc09278fd35e0de1b2d05ec47a 1
    18725:X 16 Feb 2021 14:55:55.492 # a22ea4b2dbb61c34f337b533bbb2e04e376bbdaa voted for eb24234aa458e8cc09278fd35e0de1b2d05ec47a 1
    18725:X 16 Feb 2021 14:55:55.511 # +elected-leader master auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:55.511 # +failover-state-select-slave master auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:55.588 # +selected-slave slave 192.168.51.5:6379 192.168.51.5 6379 @ auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:55.588 * +failover-state-send-slaveof-noone slave 192.168.51.5:6379 192.168.51.5 6379 @ auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:55.641 * +failover-state-wait-promotion slave 192.168.51.5:6379 192.168.51.5 6379 @ auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:56.157 # +promoted-slave slave 192.168.51.5:6379 192.168.51.5 6379 @ auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:56.157 # +failover-state-reconf-slaves master auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:56.232 * +slave-reconf-sent slave 192.168.51.6:6379 192.168.51.6 6379 @ auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:56.588 # -odown master auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:57.169 * +slave-reconf-inprog slave 192.168.51.6:6379 192.168.51.6 6379 @ auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:58.205 * +slave-reconf-done slave 192.168.51.6:6379 192.168.51.6 6379 @ auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:58.288 # +failover-end master auskat-master 192.168.51.4 6379
    18725:X 16 Feb 2021 14:55:58.289 # +switch-master auskat-master 192.168.51.4 6379 192.168.51.5 6379
    18725:X 16 Feb 2021 14:55:58.289 * +slave slave 192.168.51.6:6379 192.168.51.6 6379 @ auskat-master 192.168.51.5 6379
    18725:X 16 Feb 2021 14:55:58.289 * +slave slave 192.168.51.4:6379 192.168.51.4 6379 @ auskat-master 192.168.51.5 6379
    18725:X 16 Feb 2021 14:56:28.329 # +sdown slave 192.168.51.4:6379 192.168.51.4 6379 @ auskat-master 192.168.51.5 6379
    

    slave1信息

    [root@localhost redis]# redis-cli
    127.0.0.1:6379> auth auskat
    OK
    127.0.0.1:6379> info replication
    # Replication
    role:master
    connected_slaves:1
    slave0:ip=192.168.51.6,port=6379,state=online,offset=584942,lag=1
    master_replid:c4e391b43553d7ad27c2ac68701e1d793ecae4f0
    master_replid2:89019a6d7bb98860f7d727d8361e778a6cad3e92
    master_repl_offset:585230
    second_repl_offset:566952
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:1
    repl_backlog_histlen:585230
    

    slave2 信息

    [root@localhost redis]# redis-cli 
    127.0.0.1:6379> auth auskat
    OK
    127.0.0.1:6379> info replication
    # Replication
    role:slave
    master_host:192.168.51.5
    master_port:6379
    master_link_status:up
    master_last_io_seconds_ago:1
    master_sync_in_progress:0
    slave_repl_offset:582336
    slave_priority:100
    slave_read_only:1
    connected_slaves:0
    master_replid:c4e391b43553d7ad27c2ac68701e1d793ecae4f0
    master_replid2:89019a6d7bb98860f7d727d8361e778a6cad3e92
    master_repl_offset:582336
    second_repl_offset:566952
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:1663
    repl_backlog_histlen:580674
    

    3.3.2 启动master

    [root@localhost ~]# /etc/init.d/redis_init_script start
    Starting Redis server...
    18888:C 16 Feb 2021 15:01:50.343 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    18888:C 16 Feb 2021 15:01:50.343 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=18888, just started
    18888:C 16 Feb 2021 15:01:50.343 # Configuration loaded
    

    原来的master

    [root@localhost ~]# redis-cli
    127.0.0.1:6379> auth auskat
    OK
    127.0.0.1:6379> info replication
    # Replication
    role:slave
    master_host:192.168.51.5
    master_port:6379
    master_link_status:down
    master_last_io_seconds_ago:-1
    master_sync_in_progress:0
    slave_repl_offset:1
    master_link_down_since_seconds:1613459043
    slave_priority:100
    slave_read_only:1
    connected_slaves:0
    master_replid:535fba18b992a3e677a777ad678d313a581ee991
    master_replid2:0000000000000000000000000000000000000000
    master_repl_offset:0
    second_repl_offset:-1
    repl_backlog_active:0
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:0
    repl_backlog_histlen:0
    

    3.3.3 解决原master恢复不同步问题

    master_link_status:down ,同步状态不ok

    这是因为我们只设置了5和6的 masterauth ,这是用于同步master的数据,但是4一开始是master是不受影响的,当master转变为slave后,由于他没有auth ,所以他不能从新的master同步数据,随之导致 info replication 的时候,同步状态为 down ,所以只需要修改 redis.conf 中的 masterauth 为 auskat。

    一般master数据无法同步给slave的方案检查为如下:

    • 网络通信问题,要保证互相ping通,内网互通。
    • 关闭防火墙,对应的端口开发(虚拟机中建议永久关闭防火墙,云服务器的话需要保证内网互通)。
    • 统一所有的密码,不要漏了某个节点没有设置。

    修改mater配置

    [root@localhost redis]# vi /usr/local/redis/6379.conf
    
    # masterauth <master-password>
    masterauth auskat
    
    [root@localhost redis]# /etc/init.d/redis_init_script stop
    Stopping ...
    Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
    Waiting for Redis to shutdown ...
    Redis stopped
    [root@localhost redis]# /etc/init.d/redis_init_script start
    Starting Redis server...
    18913:C 16 Feb 2021 15:13:32.193 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
    18913:C 16 Feb 2021 15:13:32.193 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=18913, just started
    18913:C 16 Feb 2021 15:13:32.193 # Configuration loaded
    

    原master查看

    18725:X 16 Feb 2021 14:55:58.289 * +slave slave 192.168.51.6:6379 192.168.51.6 6379 @ auskat-master 192.168.51.5 6379
    18725:X 16 Feb 2021 14:55:58.289 * +slave slave 192.168.51.4:6379 192.168.51.4 6379 @ auskat-master 192.168.51.5 6379
    18725:X 16 Feb 2021 14:56:28.329 # +sdown slave 192.168.51.4:6379 192.168.51.4 6379 @ auskat-master 192.168.51.5 6379
    18725:X 16 Feb 2021 15:01:51.284 # -sdown slave 192.168.51.4:6379 192.168.51.4 6379 @ auskat-master 192.168.51.5 6379
    18725:X 16 Feb 2021 15:13:32.481 * +reboot slave 192.168.51.4:6379 192.168.51.4 6379 @ auskat-master 192.168.51.5 6379
    
    [root@localhost redis]# redis-cli
    127.0.0.1:6379> auth auskat
    OK
    127.0.0.1:6379> info replication
    # Replication
    role:slave
    master_host:192.168.51.5
    master_port:6379
    master_link_status:up
    master_last_io_seconds_ago:1
    master_sync_in_progress:0
    slave_repl_offset:845873
    slave_priority:100
    slave_read_only:1
    connected_slaves:0
    master_replid:c4e391b43553d7ad27c2ac68701e1d793ecae4f0
    master_replid2:0000000000000000000000000000000000000000
    master_repl_offset:845873
    second_repl_offset:-1
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:792365
    repl_backlog_histlen:53509
    

    现在的master查看

    127.0.0.1:6379> info replication
    # Replication
    role:master
    connected_slaves:2
    slave0:ip=192.168.51.6,port=6379,state=online,offset=808901,lag=0
    slave1:ip=192.168.51.4,port=6379,state=online,offset=808757,lag=1
    master_replid:c4e391b43553d7ad27c2ac68701e1d793ecae4f0
    master_replid2:89019a6d7bb98860f7d727d8361e778a6cad3e92
    master_repl_offset:808901
    second_repl_offset:566952
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:1
    repl_backlog_histlen:808901
    

    3.3.4 总结

    当master宕机之后,由于哨兵监控,剩余的slave会进行选举,选举其中的一个slave晋升为master,当宕机的master恢复之后,会自动变成slave。

    3.4 哨兵信息检查

    # 查看auskat-master下的master节点信息
    sentinel master auskat-master
    # 查看auskat-master下的slaves节点信息
    sentinel slaves auskat-master
    # 查看auskat-master下的哨兵节点信息
    sentinel sentinels auskat-master
    

    4 相关信息

    • 博文不易,辛苦各位猿友点个关注和赞,感谢
    展开全文
  • 哨兵模式,添加配置文件sentinel.conf,使用 “redis-sentinel 配置文件路径 ”进行启动。 1、从redis安装路径下复制两份redis.conf文件到自己的路径下,例如/myredis,更改名字和端口。 2、配置文件修改: 主...
  • 1.首先把你下载的redis复制两份出来,我的分别如下命名在D盘下建立一...修改配置文件2.1修改redis-master的配置文件redis.windows.confport 6379bind 127.0.0.12.2修改redis-slave1 和redis-slave2的配置文件#redis-...
  • 分发安装配置文件配置相关目录创建配置文件配置启动服务redis 主节点redis 从节点redis 哨兵节点Redis 可用性验证redis-cli 客户端验证Python 程序连接 Redis 5.0.x 安装 安装包准备 [root@localhost ~]# ll | grep...
  • 原理和细节参考: https://www.jianshu.com/p/06ab9daf921d ================== 一台云主机:106.133.226.36 配置主机和端口: 106.133.226.36:6380 106.133.226.36:6381 ...新建文件 redis6380.conf..
  • Redis 哨兵模式本篇主要讲解Redis哨兵模式,承接上一篇主从复制,解决主从复制的不足之处,依然是1主2从模式概述Sentinel(哨兵)是Redis的高可用性解决方案:由一个或多个Sentinel实例组成的Sentinel系统可以监视...
  • Redis哨兵模式 Redis主从模式会出现master挂了就不能用了的状态 什么是哨兵 Sentinel(哨兵)是用于监控Redis集群中Master状态的工具,是Redis高可用解决方案之一.哨兵可以监控一个或多个master服务. 当某个master服务...
  • Redis哨兵模式配置

    2019-09-30 16:01:06
    现有三台设备,192.168.137.11、192.168.137.12和192.168.137.13,要求在三台设备上实现redis哨兵模式,其中192.168.137.11为master,其他两台为slave。 1、在Master上配置redis.conf文件 配置文件内容如下: ...
  • rz -y (若rz命令无效yum install lrzsz -y) 选中文件上传至服务器(均在usr/local下执行) 利用tar -zxvf 解压压缩包 进入redis文件夹 make&&make install编译并安装 进入reids/util目.....
  • Reids主从复制问题 当我们完成了主从复制,如一主二从时,当我们Master(主)挂了,我们没有办法保证他们高可用性,并且只能进行读操作不能写入操作,导致我们服务失效。 解决办法:哨兵 ...哨兵配置文件
  • Redis 哨兵模式 设置密码1、下载http://download.redis.io/releases/redis-4.0.11.tar.gz2、解压tar zxvf redis-4.0.11.tar.gz -C /opt/module/3、安装cd redis-4.0.11makemake install4、修改配置文件4.1 拷贝redis...
  • redis哨兵的启动和redis...在redis的配置文件中添加鉴权和验证(添加requirepass和masterauth),redis主从都需要配置,配置的密码一般相同。2.redis一般都在内网运行,所以注释掉#bind 127.0.0.13.关闭保护模式,pro...
  • Redis哨兵模式配置教程 Redis哨兵模式是什么 反客为主的自动版,能够在Redis集群中,后台监控主机是否故障,如果故障了根据投票数自动将从库转换为主库 新增Sentinel配置文件 新建sentinel.conf文件,名字绝不能...
  • Spring boot 配置 Redis哨兵模式

    千次阅读 2018-10-15 11:39:25
    Spring官方提供了Redis哨兵的配置,这篇文章主要指导读者手动配置Redis哨兵模式 ps: 参考我的文章&amp;lt;&amp;lt;Spring boot 配置 Redis集群模式&amp;gt;&amp;gt;可将该配置改成按资源文件加载 ...
  • centos7配置redis哨兵模式 本地服务器演示1主2从3哨兵模式 下载安装redis #安装gcc环境 yum install -y gcc #下载redis安装包 wget http://download.redis.io/releases/redis-5.0.3.tar.gz #解压文件 tar...
  • redis哨兵模式

    2020-11-09 11:45:05
    目录 1、创建哨兵配置文件 (sentinel.conf) 2、启动redis主从模式 3、启动哨兵模式 4、测试 ...redis主从复制:仅仅解决的是我们redis数据冗余备份,从节点只是...本章将介绍使用 redis哨兵模式 解决当master解决.
  • redis哨兵配置文件

    2019-10-30 11:41:08
    配置文件redis1.conf,redis2.conf,redis3.conf,sentinel.conf 说明:1、redis版本为5.0.5 2、持久化模式:混合持久化 master配置:redis1.conf 配置项修改如下: bind * protected-mode no port 6379 daemonize ...
  • redis 哨兵模式配置

    2020-03-26 18:39:23
    修改 sentinel.conf 文件 sentinel monitor mymaster 127.0.0.1 6379 1 # 出现问题 设置 3s 反应过来 sentinel down-after-milliseconds mymaster 3000
  • Redis哨兵模式

    2020-12-16 16:43:21
    Redis哨兵模式 概念 哨兵模式是redis高可用的实现方式之一 使用一个或者多个哨兵(Sentinel)实例组成的系统,对redis节点进行监控,在主节点出现故障的情况下,能将从节点中的一个升级为主节点,进行故障转移,保证...
  • Redis | Redis 哨兵模式

    2020-03-20 21:54:20
    针对 Redis 主从复制所产生的主节点宕机导致整个服务无法操作,需要人工手动修改配置文件选择主节点问题,Redis 哨兵模式则是一种改进方式。 我们可以运行多个哨兵,每个哨兵会向其他哨兵,节点定时发送消息,确认...
  • redis哨兵模式下,配置外网访问

    千次阅读 2020-11-23 17:06:55
    redis哨兵模式下,本地项目连接redis报错,报错信息如下: nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to 172.16.0.106:6379 看到这个ip,有点不明所以,明明项目配的是...
  • 1.修改sentinel的配置文件redis解压后的文件夹,博主是在/root/tz/redis-4.0.14文件夹下): sentinel monitor mymaster 127.0.0.1 6379 2 #表示sentinel监控的master叫做mymaster,地址为127....
  • 在安装的redis的安装目录下有个sentinel.conf配置文件 新建目录/etc/sentinel(存放配置文件)/var/sentinel/5000(存放数据文件和日志),将sentinel.conf复制到/etc/sentinel/下面,改名为5000.conf,5000是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 563
精华内容 225
关键字:

redis哨兵模式配置文件

redis 订阅