redis集群报错Node is not empty

写在前面

继上一篇redis3.0.x集群搭建完成之后,当然要用客户端JedisCluster简单测试一下集群啦,这样就要将redis.conf里bind 127.0.0.1改成bind +真机ip(我的192.168.161.131),下面简单地将测试中遇到的问题及解决办法记录在本篇。

遇到的问题及解决办法

在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)之后再执行脚本,成功执行;

问题解决了之后就可以成功从java客户端测试了:

ps:

这里大家不要这样测试,可以将其写在配置文件里,我这里是为了方便。

写在最后

其实平时在测试中遇到的很多问题,都可以在网上找到答案,这里只是简单的记录其中的一个。关于关于redis集群的介绍,了解请看 redis中文介绍

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏猿天地

Spring Boot中整合Sharding-JDBC读写分离示例

在我《Spring Cloud微服务-全栈技术与案例解析》书中,第18章节分库分表解决方案里有对Sharding-JDBC的使用进行详细的讲解。

43330
来自专栏Laoqi's Linux运维专列

shell项目-分发系统-expect

37280
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装和配置OrientDB

OrientDB是一个多模型NoSQL数据库,支持图形和文档数据库。它是一个Java应用程序,可以在任何操作系统上运行。它也完全支持ACID,支持多主复制。

20300
来自专栏java沉淀

build.xml: 33: Class not found: javac1.8的解决办法

19930
来自专栏云计算教程系列

如何在Ubuntu 14.04上安装Solr 5.2.1

Solr是一个基于Apache Lucene的搜索引擎平台。它是用Java编写的,并使用Lucene库来实现索引。可以使用各种REST API访问它,包括XML...

19360
来自专栏乐沙弥的世界

CentOS 7下配置本地yum源及yum客户端

Linux下对于软件包的管理使用rpm管理方式。直接使用rpm包管理工具来进行rpm包的安装,升级,卸载时,对于最让人头疼的莫过与包之间的依赖关系。yum作为一...

49140
来自专栏CodeSheep的技术分享

Spring Boot日志框架实践

23770
来自专栏IT笔记

SpringBoot开发案例之配置静态资源文件路径

SpringBoot本质上是为微服务而生的,以JAR的形式启动运行,但是有时候静态资源的访问是必不可少的,比如:image、js、css 等资源的访问。

466100
来自专栏SpringBoot 核心技术

SpringCloud组件:将微服务提供者注册到Eureka服务中心

Eureka提供了Server当然也提供了Client,如果你对Eureka Server不了解,点击SpringCloud组件:搭建Eureka服务注册中心阅...

44440
来自专栏Java技术分享

持久化persistence.xml配置文件

 在EJB中,一个实体Bean应用由实体类和persistence.xml文件文件组成。persistence.xml文件在jar文件的META-INF目录下...

25480

扫码关注云+社区

领取腾讯云代金券