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"
  • 相关阅读:
    【原创】xenomai内核解析---内核对象注册表—xnregistry(重要组件)
    【原创】xenomai内核解析--双核系统调用(三)--如何为xenomai添加一个系统调用
    【原创】xenomai内核解析--双核系统调用(二)--应用如何区分xenomai/linux系统调用或服务
    【原创】xenomai内核解析--信号signal(二)---xenomai信号处理机制
    环境篇:数据同步工具DataX
    环境篇:DolphinScheduler-1.3.1安装部署及使用技巧
    大数据篇:一文读懂@数据仓库(PPT文字版)
    如何把百万级别的订单根据金额排序
    数据库系统设计概述
    《Redis设计与实现》笔记4—独立功能的实现
  • 原文地址:https://www.cnblogs.com/karrya/p/11281173.html
Copyright © 2011-2022 走看看