云服务器搭建redis集群的问题收集

起因:去年在腾讯云上搭建了一个redis集群,现在很久没有用了,突然使用的时候,发现集群不可用了(重启节点,发现节点不能加入集群)。

处理:
1.按照老办法去杀死节点,再重新启动节点,发现不可用。
2.怀疑自己配置等有问题,也不好查找,就直接重启了服务器…
3.重新搭建redis集群。(这时候,云服务什么都没有配置)
4.解决各种问题。

文章目录

    • waiting for the cluster to join的无限等待
    • 不能在创建集群(cluster create)时使用外网ip
    • 为什么kill或者shutdown节点后,无法重启节点加入集群

waiting for the cluster to join的无限等待

造成这个问题,大多是因为集群节点之间无法通信,没能开放节点对应的端口和集群总线端口(节点端口+10000: 6379–>16379)。一般是在/etc/sysconfig/iptables 里面配置开放端口和集群总线端口(注意:使用service iptables restart让配置生效)。如果有安全组,一定也要在安全组里面配置开放端口和集群总线端口(检查安全组绑定了服务实例与否)。

不能在创建集群(cluster create)时使用外网ip

解答如1,也是端口没有开放。

为什么kill或者shutdown节点后,无法重启节点加入集群

因为重启节点时,所在目录中含有不正确的文件信息。
云服务器搭建redis集群的问题收集_第1张图片
如上图目录,创建了一个9个节点的集群。在cluster文件夹下有7001-7009的文件夹(存放9个节点的nodes.conf、appendonly.aof、dump.rdb和redis.conf文件)。

  1. 造成错误重启的操作是,我直接在cluster文件夹下重启了节点,导致会在cluster文件夹下生成nodes.conf、appendonly.aof文件,而重启的节点就会用cluster下面的文件,而不是自己文件夹下的文件,导致无法正确启动节点(一般只有第一个节点能启动进程)。
  2. 正确操作是,在对应节点的文件夹下重启,如重启7001节点,应当在7001文件夹下执行redis-server命令来启动。

你可能感兴趣的:(集群,redis)