zoukankan      html  css  js  c++  java
  • Redis的复制(Master/Slave)、主从复制、读写分离 (下)

    哨兵模式(就是反客为主的自动版)

      能够自动监控主机是否故障,如果故障了根据投票数自动将从机变成主机

      1创建哨兵文件

    touch sentinel.conf
    [root@localhost myredis]# ls -l
    总用量 228
    -rw-r--r--. 1 root root    55 7月  31 23:38 dump6379.rdb
    -rw-r--r--. 1 root root    55 7月  31 23:38 dump6380.rdb
    -rw-r--r--. 1 root root 41642 8月   1 08:33 redis6379.conf
    -rw-r--r--. 1 root root 41642 7月  31 23:04 redis6380.conf
    -rw-r--r--. 1 root root 41642 7月  31 23:11 redis6381.conf
    -rw-r--r--. 1 root root 41612 7月  31 18:08 redis_aof.conf
    -rw-r--r--. 1 root root 41611 7月  28 21:27 redis.conf
    -rw-r--r--. 1 root root     0 8月   1 09:47 sentinel.conf

      2、给哨兵文件添加监听内容

    sentinel monitor 被监控数据库名字(自己起名字) 127.0.0.1 6379 1:这里的这个数字1,表示主机死掉以后slaver投票看让谁接替称为主机,谁票数多多谁是主机。

    sentinel monitor host6379 127.0.0.1 6379 1

      3、启动哨兵

    [root@localhost myredis]# redis-sentinel /myredis/sentinel.conf 
    22600:X 01 Aug 09:55:20.908 * Increased maximum number of open files to 10032 (it was originally set to 1024).
                    _._                                                  
               _.-``__ ''-._                                             
          _.-``    `.  `_.  ''-._           Redis 3.0.7 (00000000/0) 64 bit
      .-`` .-```.  ```/    _.,_ ''-._                                   
     (    '      ,       .-`  | `,    )     Running in sentinel mode
     |`-._`-...-` __...-.``-._|'` _.-'|     Port: 26379
     |    `-._   `._    /     _.-'    |     PID: 22600
      `-._    `-._  `-./  _.-'    _.-'                                   
     |`-._`-._    `-.__.-'    _.-'_.-'|                                  
     |    `-._`-._        _.-'_.-'    |           http://redis.io        
      `-._    `-._`-.__.-'_.-'    _.-'                                   
     |`-._`-._    `-.__.-'    _.-'_.-'|                                  
     |    `-._`-._        _.-'_.-'    |                                  
      `-._    `-._`-.__.-'_.-'    _.-'                                   
          `-._    `-.__.-'    _.-'                                       
              `-._        _.-'                                           
                  `-.__.-'                                               
    
    22600:X 01 Aug 09:55:20.910 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
    22600:X 01 Aug 09:55:20.910 # Sentinel runid is 31cfb89ac4fe6085784e0541972261ff7f09f339
    22600:X 01 Aug 09:55:20.910 # +monitor master host6379 127.0.0.1 6379 quorum 1
    22600:X 01 Aug 09:55:20.912 * +slave slave 127.0.0.1:6381 127.0.0.1 6381 @ host6379 127.0.0.1 6379
    22600:X 01 Aug 09:55:20.914 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ host6379 127.0.0.1 6379

      4、主机关闭,哨兵会自动选举出主机

    127.0.0.1:6380> info replication
    # Replication
    role:master
    connected_slaves:1
    slave0:ip=127.0.0.1,port=6381,state=online,offset=1116,lag=0
    master_repl_offset:1116
    repl_backlog_active:1
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:2
    repl_backlog_histlen:1115
    127.0.0.1:6380> set k44 444
    OK
    127.0.0.1:6381> info replication
    # Replication
    role:slave
    master_host:127.0.0.1
    master_port:6380
    master_link_status:up
    master_last_io_seconds_ago:2
    master_sync_in_progress:0
    slave_repl_offset:4098
    slave_priority:100
    slave_read_only:1
    connected_slaves:0
    master_repl_offset:0
    repl_backlog_active:0
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:0
    repl_backlog_histlen:0
    127.0.0.1:6381> get k44
    "444"

      5、前面主机回来(前主机作为Slaver)

    127.0.0.1:6379> info replication
    # Replication
    role:slave
    master_host:127.0.0.1
    master_port:6380
    master_link_status:up
    master_last_io_seconds_ago:2
    master_sync_in_progress:0
    slave_repl_offset:19636
    slave_priority:100
    slave_read_only:1
    connected_slaves:0
    master_repl_offset:0
    repl_backlog_active:0
    repl_backlog_size:1048576
    repl_backlog_first_byte_offset:0
    repl_backlog_histlen:0
    127.0.0.1:6379> get k44
    "444"
  • 相关阅读:
    C#算法,二叉树,单链表,反向链表,stack栈
    系统架构师学习笔记_第十一章(上)_连载
    系统架构师学习笔记_第四章(下)_连载
    [项目过程中所遇到的各种问题记录]ORM篇——使用NHibernate配置对象实体的一些小问题
    含HTML标记的内容分页 (C#)
    PowerShell在SharePoint 2010自动化部署中的应用(1)代码获取
    走向ASP.NET架构设计第一章:走向设计
    asp.net 遍历XML文件节点信息
    系统架构师学习笔记_第一章_连载
    AOP 你想干什么 IOC 你服务什么
  • 原文地址:https://www.cnblogs.com/karrya/p/11281173.html
Copyright © 2011-2022 走看看