设为首页 收藏本站
查看: 2596|回复: 0

[经验分享] redis cluster配置文件和集群状态详解

[复制链接]

尚未签到

发表于 2018-11-3 14:10:57 | 显示全部楼层 |阅读模式
  Redis cluster命令
  集群(cluster)
  cluster info       打印集群的信息
  cluster nodes   列出集群当前已知的所有节点(node),以及这些节点的相关信息
  节点(node)
  cluster meet         将ip和port所指定的节点添加到集群当中,让它成为集群的一份子
  cluster forget         从集群中移除node_id指定的节点
  cluster replicate    将当前节点设置为node_id指定的节点的从节点
  cluster saveconfig                   将节点的配置文件保存到硬盘里面
  cluster slaves        列出该slave节点的master节点
  cluster set-config-epoch        强制设置configEpoch
  槽(slot)
  cluster addslots  [slot ...]                         将一个或多个槽(slot)指派(assign)给当前节点
  cluster delslots  [slot ...]                          移除一个或多个槽对当前节点的指派
  cluster flushslots                                                移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点
  cluster setslot  node             将槽slot指派给node_id指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽,然后再进行指派
  cluster setslot  migrating    将本节点的槽slot迁移到node_id指定的节点中
  cluster setslot  importing    从node_id 指定的节点中导入槽slot到本节点
  cluster setslot  stable                             取消对槽slot的导入(import)或者迁移(migrate)
  键(key)
  cluster keyslot                                        计算键key应该被放置在哪个槽上
  cluster countkeysinslot                          返回槽slot目前包含的键值对数量
  cluster getkeysinslot                返回count个slot槽中的键
  其它
  cluster myid       返回节点的ID
  cluster slots       返回节点负责的slot
  cluster reset      重置集群,慎用
  redis cluster配置
  cluster-enabled yes
  如果配置yes则开启集群功能,此redis实例作为集群的一个节点,否则,它是一个普通的单一的redis实例。
  cluster-config-file nodes-6379.conf
  虽然此配置的名字叫"集群配置文件",但是此配置文件不能人工编辑,它是集群节点自动维护的文件,主要用于记录集群中有哪些节点、他们的状态以及一些持久化参数等,方便在重启时恢复这些状态。通常是在收到请求之后这个文件就会被更新。
  cluster-node-timeout 15000
  这是集群中的节点能够失联的最大时间,超过这个时间,该节点就会被认为故障。如果主节点超过这个时间还是不可达,则用它的从节点将启动故障迁移,升级成主节点。注意,任何一个节点在这个时间之内如果还是没有连上大部分的主节点,则此节点将停止接收任何请求。一般设置为15秒即可。
  cluster-slave-validity-factor 10
  如果设置成0,则无论从节点与主节点失联多久,从节点都会尝试升级成主节点。如果设置成正数,则cluster-node-timeout乘以cluster-slave-validity-factor得到的时间,是从节点与主节点失联后,此从节点数据有效的最长时间,超过这个时间,从节点不会启动故障迁移。假设cluster-node-timeout=5,cluster-slave-validity-factor=10,则如果从节点跟主节点失联超过50秒,此从节点不能成为主节点。注意,如果此参数配置为非0,将可能出现由于某主节点失联却没有从节点能顶上的情况,从而导致集群不能正常工作,在这种情况下,只有等到原来的主节点重新回归到集群,集群才恢复运作。
  cluster-migration-barrier 1
  主节点需要的最小从节点数,只有达到这个数,主节点失败时,它从节点才会进行迁移。更详细介绍可以看本教程后面关于副本迁移到部分。
  cluster-require-full-coverage yes
  在部分key所在的节点不可用时,如果此参数设置为"yes"(默认值), 则整个集群停止接受操作;如果此参数设置为”no”,则集群依然为可达节点上的key提供读操作。
  redis cluster状态
  127.0.0.1:8001> cluster info
  cluster_state:ok
  如果当前redis发现有failed的slots,默认为把自己cluster_state从ok个性为fail, 写入命令会失败。如果设置cluster-require-full-coverage为no,则无此限制。
  cluster_slots_assigned:16384   #已分配的槽
  cluster_slots_ok:16384              #槽的状态是ok的数目
  cluster_slots_pfail:0                    #可能失效的槽的数目
  cluster_slots_fail:0                      #已经失效的槽的数目
  cluster_known_nodes:6             #集群中节点个数
  cluster_size:3                              #集群中设置的分片个数
  cluster_current_epoch:15          #集群中的currentEpoch总是一致的,currentEpoch越高,代表节点的配置或者操作越新,集群中最大的那个node epoch
  cluster_my_epoch:12                 #当前节点的config epoch,每个主节点都不同,一直递增, 其表示某节点最后一次变成主节点或获取新slot所有权的逻辑时间.
  cluster_stats_messages_sent:270782059
  cluster_stats_messages_received:270732696
  127.0.0.1:8001> cluster nodes
  25e8c9379c3db621da6ff8152684dc95dbe2e163 192.168.64.102:8002 master - 0 1490696025496 15 connected 5461-10922
  d777a98ff16901dffca53e509b78b65dd1394ce2 192.168.64.156:8001 slave 0b1f3dd6e53ba76b8664294af2b7f492dbf914ec 0 1490696027498 12 connected
  8e082ea9fe9d4c4fcca4fbe75ba3b77512b695ef 192.168.64.108:8000 master - 0 1490696025997 14 connected 0-5460
  0b1f3dd6e53ba76b8664294af2b7f492dbf914ec 192.168.64.170:8001 myself,master - 0 0 12 connected 10923-16383
  eb8adb8c0c5715525997bdb3c2d5345e688d943f 192.168.64.101:8002 slave 25e8c9379c3db621da6ff8152684dc95dbe2e163 0 1490696027498 15 connected
  4000155a787ddab1e7f12584dabeab48a617fc46 192.168.67.54:8000 slave 8e082ea9fe9d4c4fcca4fbe75ba3b77512b695ef 0 1490696026497 14 connected
  #说明
  节点ID:例如25e8c9379c3db621da6ff8152684dc95dbe2e163
  ip:port:节点的ip地址和端口号,例如192.168.64.102:8002
  flags:节点的角色(master,slave,myself)以及状态(pfail,fail)
  如果节点是一个从节点的话,那么跟在flags之后的将是主节点的节点ID,例如192.168.64.156:8001主节点的ID就是0b1f3dd6e53ba76b8664294af2b7f492dbf914ec
  集群最近一次向节点发送ping命令之后,过了多长时间还没接到回复
  节点最近一次返回pong回复的时间
  节点的配置纪元(config epoch)
  本节点的网络连接情况
  节点目前包含的槽,例如192.168.64.102:8002目前包含的槽为5461-10922


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-630312-1-1.html 上篇帖子: Linux下redis的单机安装 下篇帖子: nagios监控redis命中率
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表