zoukankan      html  css  js  c++  java
  • redis学习之集群报错Node is not empty

    遇到的问题及解决办法

    在redis.conf里bind 真机ip后,接着重新执行每个redis.conf,最后再创建集群,但报错,如下图所示:
    这里写图片描述
    图中报的错即:

    [ERR] Node 192.168.161.131:7000 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
    这就奇怪了,于是我又去检查了一下redis.conf,ip我确实改过来了
    这里写图片描述

    想了一会发现这三个文件appendonly.aof dump.rdb nodes.conf是之前执行ip127.0.0.1时生成的,在我改为真机ip后在执行并没有生效。
    这里写图片描述

    这里解释一下dump.rdb文件:

    dump.rdb是由Redis服务器自动生成的 默认情况下 每隔一段时间redis服务器程序会自动对数据库做一次遍历,把内存快照写在一个叫做“dump.rdb”的文件里,这个持久化机制叫做SNAPSHOT。有了SNAPSHOT后,如果服务器宕机,重新启动redis服务器程序时redis会自动加载dump.rdb,将数据库状态恢复到上一次做SNAPSHOT时的状态。

    知道原因后就好办了,解决办法:

    1)将每个节点下aof、rdb、nodes.conf本地备份文件删除;
    2)172.168.63.201:7001> flushdb #清空当前数据库(可省略)
    3)之后再执行脚本,成功执行;

     
  • 相关阅读:
    Shell 函数
    Shell test命令/流程控制
    Shell 变量/echo命令
    Linux vi/vim and linux yum 命令
    Linux磁盘管理
    Linux 用户和用户组管理
    Linux 文件与目录管理
    Linux root用户密码重置,远程登陆,文件基本属性
    Linux简介安装、系统启动过程、目录结构
    Linux系统安装时分区的介绍
  • 原文地址:https://www.cnblogs.com/shizhijie/p/7542956.html
Copyright © 2011-2022 走看看