标签:127.130 IP Redis 192.168 外网 节点
因为一些原因,以前IP没法用了,所有节点都down掉了,所以项目忽然报错:
服务器现在修改Redis节点的IP地址
注意,虽然是修改,但实质上是重建集群,所以需要你删除之前每个节点的一些文件,才能用新的IP重建集群:
在删除之前,要先暂停所有节点:
查看Redis进程:
ps -ef|grep redis
然后杀死进程:
kill -9 xxx
好了,可以开始删除相关文件了:
需要删除的文件 : Redis每个节点相应的 持久化文件和节点信息文件:
进入每一个节点,有dump.rdb持久化文件和nodes.conf节点信息文件,删除。
你要是忘了自己文件在哪里了,可以用下面指令查看一下目录:
find / -name 文件名
我这里都放在一起了:
在对应文件目录下删除相关文件:
rm -f nodes-*.conf rm -f dump-*.rdb
删除后只留下如下文件:
PS:(如果你的Redis.conf文件里开启并生成了appendonly.aof,你也必须删除它,因为不删除aof文件会和不删除rdb文件一样导致在接下来重新创建节点过程中出现原节点存在数据(Not Empty)异常)
接着:
在重建集群之前需要你依次将每个节点重新启动起来,否则会直接报错 [ERR] Sorry, can't connect to node
重新创建集群(用新的ip)执行redis-trib.rb脚本:
(*注意:"192.168.127.130"是本地局域网IP,如果是生产环境下或者非本地测试,请直接使用服务器外网IP地址)
./redis-trib.rb create --replicas 1 192.168.127.130:8000 192.168.127.130:8001 192.168.127.130:8002 192.168.127.130:8003 192.168.127.130:8004 192.168.127.130:8005
我执行到这里就已经成功了,但是由于IP原因,我这里引用别人一的张图(别人图片还有说明,比我认真多了):
输入yes,创建成功.
后记:
1、通过以上步骤,重新配置Redis集群IP就成功了。
2、总结可能出现的步骤问题,导致客户端不能正常访问Redis:
1、redis.conf限制了IP地址访问
2、没有开启Redis集群总线端口==>"Redis端口+10000"
3、使用rudy命令开启集群,在非本地环境下,没有使用外网IP
ruby redis-trib.rb create --replicas 1 外网IP:7000 外网IP:7001 外网IP:7002 外网IP:7003 外网IP:7004 外网IP:7005
标签:127.130,IP,Redis,192.168,外网,节点 来源: https://www.cnblogs.com/xk920/p/12119376.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。