zoukankan      html  css  js  c++  java
  • Redis集群搭建

    一、配置Redis服务

    a.官网下载Redis安装包 找到redis.windows-service.conf 调整相关端口 密码 绑定地址配置【配置RedisMaster库】

    b.找到redis.windows-service.conf 调整相关端口 密码 绑定地址 添加slaveof [主库地址] [主库端口]配置【配置Slave库】

    c.添加Redis哨兵服务配置 
    新建一个.conf文件添加如下信息
    port 63791          //哨兵端口号
    dir "C:\Program Files\Redis3.2\16356" //哨兵日志文件夹
    bind 192.168.1.62                                    //哨兵绑定的内网地址
    logfile "sentinel-16356.log"                      //哨兵日志文件名称

    sentinel myid 4b70680022758964daae31fc43f6186b0ed4cf32 //哨兵实例ID
    sentinel monitor mymaster 192.168.1.62 6379 2 //监控主master,当2个sentinel选举成功后才有效
    sentinel down-after-milliseconds master-1 5000 //判断主master的挂机时间(毫秒),超时未返回正确信息后标记为sdown状态

    sentinel failover-timeout master-1 18000 //若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
    sentinel auth-pass master-1 grs //身份认证
    sentinel parallel-syncs master-1 1 //选项指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步,这个数字越小,完成故障转移所需的时间就越长

    二、Redis服务安装与卸载

    打开CMD控制台,进入C:Program FilesRedis3.2>目录,运行命令:
    1.redis-server.exe --service-install redis6382.conf --service-name redis6382【安装】
    2.redis-server.exe --service-uninstall --service-name redis6811【卸载】
    3.redis-server --service-install redis-sentinel17355.conf --sentinel --service-name redis-sentinel17355 【安装哨兵】
    4.redis-server.exe --service-uninstall --service-name redis6811-sentinel  --sentinel【卸载哨兵】

    三、sentinel运行机制

     

    Sentinel会不断地检查你的主服务器和从服务器是否运作正常。当某个节点故障后,Sentinel 会开始一次自动故障迁移操作, 它会将失效主服务器的其中一个从服务器升级为新的主服务器, 并让失效主服务器的其他从服务器改为复制新的主服务器; 当客户端试图连接失效的主服务器时, 集群也会向客户端返回新主服务器的地址, 使得集群可以使用新主服务器代替失效服务器。

    四、sentinel 总结

    作用:
    a:Master 状态监测

    b:如果Master 异常,则会进行Master-slave 转换,将其中一个Slave作为Master,将之前的Master作为Slave 
    c:Master-Slave切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换 

    工作方式:
    a:每个Sentinel以每秒钟一次的频率向它所知的Master,Slave以及其他 Sentinel 实例发送一个 PING 命令 
    b:如果一个实例(instance)距离最后一次有效回复 PING 命令的时间超过 down-after-milliseconds 选项所指定的值, 则这个实例会被 Sentinel 标记为主观下线。 
    c:如果一个Master被标记为主观下线,则正在监视这个Master的所有 Sentinel 要以每秒一次的频率确认Master的确进入了主观下线状态。 
    d:当有足够数量的 Sentinel(大于等于配置文件指定的值)在指定的时间范围内确认Master的确进入了主观下线状态, 则Master会被标记为客观下线 
    e:在一般情况下, 每个 Sentinel 会以每 10 秒一次的频率向它已知的所有Master,Slave发送 INFO 命令 
    f:当Master被 Sentinel 标记为客观下线时,Sentinel 向下线的 Master 的所有 Slave 发送 INFO 命令的频率会从 10 秒一次改为每秒一次 
    g:若没有足够数量的 Sentinel 同意 Master 已经下线, Master 的客观下线状态就会被移除。若 Master 重新向 Sentinel 的 PING 命令返回有效回复, Master 的主观下线状态就会被移除。

    注意事项:
    a:哨兵数量最佳个数应是奇数,当master产生故障时 投票数若出现平等会导致master混乱
     

  • 相关阅读:
    RDP劫持:如何透明劫持RDS以及RemoteApp会话
    渗透测试工具备忘单
    Scrapy爬取慕课网(imooc)所有课程数据并存入MySQL数据库
    关于读取properties文件路径问题
    python随机生成测试数据用户名
    字典的应用(根据第一列,统计第二列之和)
    冒泡算法和排序算法运行速度比较
    判断日期天数
    Python爬虫抓取煎蛋(jandan.net)无聊图
    快递查询
  • 原文地址:https://www.cnblogs.com/tx720/p/9882828.html
Copyright © 2011-2022 走看看