概述
一 ,[ERR] Node 192.168.67.145:6380 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
导致异常的主要原因是该节点中默认生成的配置或历史存储数据不一致导致的,清除对应节点的dump.rdb、nodes.conf文件,重启之后即可
解决步骤:
1、停止服务,删除aof/rdb文件;
2、删除nodes.conf
3、启动服务
4、启动集群
说明Redis中有数据,需要连接该Redis执行“flushdb”清空数据。如果还不行,则停止Redis服务后,删除该节点下的nodes-800x.conf文。
二,systemctl start redis 启动报错
32680:M 17 Nov 2022 10:36:16.477 # Server initialized
32680:M 17 Nov 2022 10:36:16.477 # Can’t handle RDB format version 10
32680:M 17 Nov 2022 10:36:16.477 # Fatal error loading the DB: Invalid argument. Exiting.
find / -name dump.rdb
删除dump.rdb文件,重新启动。
三 redis 生产环境迁移报错
报错:
Error condition on socket for SYNC: Connection reset by peer
Error: Connection reset by peer
原因:
是由于主库配置文件中的 #bind 127.0.0.1 和 /etc/redis.conf 中protected-mode 模块导致的。
protected-mode配置,默认是no,即关闭。
解决方法:
设置外部网络连接redis服务,设置方式如下:
1)关闭protected-mode模式,此时外部网络可以直接访问。
2)开启protected-mode保护模式,需配置bind ip或者设置访问密码。
解决方法 :
1)将主库bind ip 注释取消,并设置为0.0.0.0 ,代表所有ip都可以访问。
2)都使用默认的,bind 注释,安全模式设置为no。
#bind 127.0.0.1
protected-mode no
最后
以上就是欢呼机器猫为你收集整理的redis报错的全部内容,希望文章能够帮你解决redis报错所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复