搭建一个简单的一主一从二哨兵集群

主服务器端口号6379,从服务器端口号6378,哨兵1服务器端口号26379,哨兵2服务器端口号26439

搭建windows下Redis主从复制及哨兵环境

一、配置服务器

1.配置主服务器,下载Redis-x64-3.2.100改名为Redis-master

2.配置从服务器,复制Redis-master一份,修改配置redis.windows.conf

   修改port 6378 增加slaveof 127.0.0.1 6379

3.配置哨兵1服务器,复制Redis-master一份,增加配置redis.windows.sentinel.conf

     port 26379
     #master
     sentinel monitor master 127.0.0.1 6379 2
     sentinel down-after-milliseconds master 5000
     sentinel failover-timeout master 180000
     sentinel parallel-syncs master 1

4.配置哨兵2服务器,复制Redis-master一份,增加配置redis.windows.sentinel.conf

     port 26479
     #master
     sentinel monitor master 127.0.0.1 6379 2
     sentinel down-after-milliseconds master 5000
     sentinel failover-timeout master 180000
     sentinel parallel-syncs master 1

哨兵配置日志说明链接:http://www.redis.cn/topics/sentinel.html

二、启动服务器

    1.启动主服务器Redis-master:redis-server.exe  redis.windows.conf

    2.启动从服务器Redis-slave:redis-server.exe  redis.windows.conf

    3.启动哨兵1服务器Redis-sentinel:redis-server.exe redis.windows.sentinel.conf --sentinel

    4.启动哨兵1服务器Redis-sentinel2:redis-server.exe redis.windows.sentinel.conf --sentinel

三、测试

     1.Redis-master目录下执行redis-cli.exe

         127.0.0.1:6379> info replication 

         # Replication
         role:master
         connected_slaves:1
         slave0:ip=127.0.0.1,port=6378,state=online,offset=76114,lag=0
         master_repl_offset:76114
         repl_backlog_active:1
         repl_backlog_size:1048576
         repl_backlog_first_byte_offset:2
         repl_backlog_histlen:76113

      2.Redis-slave目录下执行redis-cli.exe

         127.0.0.1:6378> info replication
         # Replication
         role:slave
         master_host:127.0.0.1
         master_port:6379
         master_link_status:up
         master_last_io_seconds_ago:1
         master_sync_in_progress:0
         slave_repl_offset:437
         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

      3.Redis-sentinel目录下执行

        搭建windows下Redis主从复制及哨兵环境

      4.Redis-sentinel2目录下执行  搭建windows下Redis主从复制及哨兵环境

四、模拟主从切换

    1.主服务器6379宕机

        哨兵1日志搭建windows下Redis主从复制及哨兵环境

        哨兵2日志搭建windows下Redis主从复制及哨兵环境

       结果进行主从切换,启动服务器6379

         哨兵日志搭建windows下Redis主从复制及哨兵环境

       结果原主服务器转换为从服务器

       启动redis-master的redis-cli.exe,结果如下

        搭建windows下Redis主从复制及哨兵环境

    2.再进行新主服务器6378宕机

       哨兵日志搭建windows下Redis主从复制及哨兵环境

     监测一段时间后,发现未进行主从切换  ,原因待排查

    2.尝试网上推荐方案增加主从密码测试

       主从配置里增加密码

            masterauth "123456"
            requirepass "123456"

       哨兵配置里增加配置:

            sentinel auth-pass master 123456

       重新启动所有服务器

          1)查看主服务器6379信息

             搭建windows下Redis主从复制及哨兵环境

           2)模拟主服务器6379宕机

 哨兵1和2日志搭建windows下Redis主从复制及哨兵环境

搭建windows下Redis主从复制及哨兵环境

 启动服务器6379,哨兵日志搭建windows下Redis主从复制及哨兵环境

      结果进行了主从切换

模拟新主服务器6378宕机,哨兵日志

搭建windows下Redis主从复制及哨兵环境

启动服务器6378,哨兵日志

  搭建windows下Redis主从复制及哨兵环境

验证通过

相关文章: