zoukankan      html  css  js  c++  java
  • db nosql redis / Redis Sentinel

    s

    Redis基础原理和日常操作方法

    http://itsm.cns*****.com/kindeditor/img/20170527/759128afca564051b491e6a51a5bad40ab070d19e1a749fa.pptx

    启动redis
    su - redisuser -c "/opt/zedis/redis-server /opt/zedis/redis.conf"
    
    检查redis
    /opt/zedis/redis-cli
    

      

    redis 数据量大,异常停机,不停全量同步问题
    【问题概述】
    reids 从机服务器宕机,当机器恢复,启动redis服务,redis从机自动发布全量同步且数据量超过5G以上,同步完一次,redis继续发出全量同步命令,循环进行同步全量。CPU消耗有告警。

    【现象描述】
    redis从机收到了主机的dump.rdb传输过来的文件,但是读取完毕后,从机继续向主机发起全量同步命令,并报IO error,
    另一个错误是主机超时,主机在一定时间内ping从机无法得到回应,导致主机认为从机宕机,当从机恢复继续发出全量同步命令。
    同时伴有CPU消耗增高。

    【问题跟踪及分析】
    这个问题是由redis配置文件中一个参数设置导致,在redis.conf中:
    client-output-buffer-limit slave 256mb 64mb 60
    这个参数配置,这个参数代表含义:负责发数据给slave的client,如果buffer超过256m或者连续60秒超过64m,就会被立刻强行关闭,就会导致循环同步

    【解决方案】
    设置client-output-buffer-limit 增加buffer和超时时间,可以在redis运行中设置(2.8.8版本中可以),删除已经生成的dump.rdb文件(根据情况,也可以不删),
    再执行:
    /opt/redis-2.8.8/src/redis-cli s*****config set client-output-buffer-limit 'slave 2gb 1gb 1200'

    这样再次进行同步,循环同步数据问题解决.本次问题中,同步数据量为8GB,要根据数据量的大小来合理设置参数. 
    在数据量低于7G情况下,可以不修改参数尝试去同步,但是数据量在超过7G(包括7GB),必须修改上面参数,主机先修改,从机再修改,删除dump文件,重新同步。

    end

  • 相关阅读:
    VisualStudio2010配置OpenCV的一种一劳永逸的方法
    QT5 Failed to load platform plugin "windows" 终极解决方式 命令行问题
    轻松学习JavaScript二十二:DOM编程学习之节点操作
    Eclipse中安装TestNG插件
    Java Timer 定时器的使用
    技术开发团队的项目管理工具
    python里一个class可以定义多个构造函数
    python中的多继承
    python基础之使用os.system来执行系统命令
    python下划线变量的含义
  • 原文地址:https://www.cnblogs.com/lindows/p/7606763.html
Copyright © 2011-2022 走看看