1、删除redis集群方法:
在redis-5.0.0之后进行redis集群用的redis-cli的方式进行redis集群的服务,然后删除redis集群采用的是kill掉每一个节点的服务进程,可以先使用ps aux | grep redis查询出redis的服务进程,然后把你再这台服务器启动的redis进程杀掉,再另一台服务器上也是这么操作的,这样就可以删掉redis集群
2、对于在删除掉redis集群后,重新添加节点或者重新建集群的时候出现的Node ip:port is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0的问题解决方法:
(1)首先kill掉新增redis的服务节点进程或者kill掉所有的redis服务节点进程(必做)
(2)删除新增节点appendonly.aof、dump.rdb、nodes.conf或者运行目录下的这这三个文件再执行
(3)如果还不能成功,就再删除所有redis节点的appendonly.aof、dump.rdb、nodes.conf,再执行
(4)如果还不行就进行清库再执行增加节点或者添加redis集群的操作
[root@localhost ~]# cd /redis目录/src/
[root@localhost src]# redis-cli -c -p 10010或者redis-cli -h ip(服务器ip地址) -c -p 10011
ip:10010> flushdb
OK!
一般进行前两部操作后就能成功解决问题
3、建立了redis集群之后,如果使用的阿里云服务器,必须再安全组处设置对应的开发端口号以及集群总线端口号
比如你的redis端口号是10015那么你的redis集群总线端口号就是20015,一般集群总线端口号是端口号+10000
4、对于建立的集群或者开启了redis服务之后无法连接到redis的问题:
(1)可能是你的redis端口号没有在阿里云上面开放,可以参考第三步的做法进行操作
(2)如果还不行就是你的服务器防火墙没有添加对应的开放ip端口,这是你也可以选择关闭防火墙来解决这个问题
(关闭防火墙:systemctl stop firewalld 查看防火墙状态:systemctl status firewalld)
对于添加防火墙的白名单可以参考:https://blog.csdn.net/qq_37837701/article/details/80578807
一般做完这几步就能完成redis的连接
5、对于redis集群的时候在各个端口号文件目录的redis.conf的修改:
port 7000 //端口7000,7002,7003
protected-mode no //关掉保护模式3.2之后 不然会报Sorry, can't connect to node
#bind 本机ip //默认ip为127.0.0.1,在3.2之后要注释掉
daemonize yes //redis后台运行
pidfile /var/run/redis_10010.pid //pidfile文件对应10010
cluster-enabled yes //开启集群 把注释#去掉
cluster-config-file nodes_10010.conf //集群的配置 配置文件首次启动自动生成 10010
cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置
appendonly yes //aof日志开启 有需要就开启,它会每次写操作都记录一条日志
每一个端口号都是按照这个去做修改
6、redis-5.0.0集群命令:
redis新版本5.0.0之后采用了redis-cli方式进行集群:
redis-cli --cluster create ip:10010 ip:10011 ip:10012 ip:10013 ip:10014 ip:10015 --cluster-replicas 1
这个集群命令意思是一主一备的方式进行集群,更详细的命令参考官方文档
7、redis集群搭建参考:https://blog.csdn.net/kai_1215/article/details/78111154
不过这篇不是redis-5.0.0的集群搭建方式但是前几个步骤是一样的,最后的集群命令换成我这边第6步写的命令即可
8、对于使用了jedis进行redis的操作的时候出现connect time out连接超时的情况:
解决方法:
(1)centos中使用systemctl stop firewalld.service停止防火墙
(2)检查自己的redis.conf的bind ip处配置情况,如果你bind 的是阿里云的内网服务ip的时候,虽然能够集群成功,而且用redis客户端也能连接,但是使用jedis进行set操作的时候是没有办法通过内网ip进行set操作的,所有这个地方要注释掉
(3)如果还是出现了连接超时的情况,那么可能是你启动的redis集群的响应问题,重新进行set操作应该也能够成功
9、出现创建集群的时候会出现一直在Waiting for the cluster to join......没得执行下去的情况:
你要在阿里云上设置redis集群总线端口号+10000端口,这样能够解决参考第3步
10、jedis连接redis的测试:
redis集群测试:
redis单机测试:
以上就是进行redis-5.0.0操作遇到问题解决方法的总结!