电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

READONLY You can't write against a read-only salve

来源:金蝶云社区作者:金蝶2024-09-233

 READONLY You can't write against a read-only salve

问题描述:

某客户环境突然出现登录和操作任意功能提示错误, READONLY You can't write against a read-only salve.


原因分析:

    1、根据错误提示是mservice服务连到了只读的redis节点上,查看redis服务,当前状态是一主两从,并且主为可写,从只读,是正常状态。

    2、登录mservice容器查看主进程仍然持有切换前Redis主服务的一至多个TCP连接没有释放。

    3、查看sentinel日志,发现在出现问题的时间前redis出现了主从切换的情况。    

        #12752:X 07 Feb 01:45:04.673 # +sdown master mymaster 10.122.3.58 6380

        #12752:X 07 Feb 01:45:04.673 # +sdown sentinel 9b1a02b675333972a7ebb6001bca5d308261d5ca                      10.122.3.58 7506 @ mymaster 10.122.3.58 6380

        #12752:X 07 Feb 01:45:04.674 # +sdown sentinel 5240f5dc585925289dddb2b42678c15f1a1825f8

          10.122.3.58 7506 @ mymaster 10.122.3.58 6380

    4、查询sentinel.conf文件,发现配置的哨兵心跳检查间隔参数down-after-milliseconds为3秒。

        心跳检测的逻辑:Redis主服务在3秒(down-after-milliseconds)内连续向Sentinel返回PING的无效回复,则Sentinel判定Redis主服务为主观下线状态,如果多数Sentinel均判定Redis主服务为主观下线则形成Redis主服务客观下线的共识,并由主Sentinel实施执行Redis主从切换。

    5、由于redis是单线程运行的,而如果Redis负载较高(命令多或者大key操作)或者网络短暂中断等问题,响应超过3秒,均会形成主观下线的判断,最终导致出现主从切换的情况。

解决方案:

    为了避免出现redis主从频繁切换的情况,建议做如下参数情况。

    1、参数优化

        1)优化哨兵心跳检查间隔参数:从3秒改为30秒,官方建议默认是30秒。

            # vi sentinel-7505.conf

            sentinel down-after-milliseconds mymaster 300

READONLY You can't write against a read-only salve

问题描述:某客户环境突然出现登录和操作任意功能提示错误, READONLY You can't write against a read-only salve.原因分析: ...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信