三个步骤解决redi集群创建报错

前两天,去券商环境部署redis集群。集群部署好后,同事要部署其他服务需要重启服务器,重启后集群挂了。报一下错误:

[ERR] Node 10.25.98.14:6379 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

经过网上查询大概是需要删除以下几个文件:

appendonly.aof,dump.rdb,nodes.conf

以上文件是集群启动时生成的文件,若集群由于重启服务等异常操作挂掉时,需要清理掉这些文件方可创建集群。
当需要集群的reidis启动完毕后,执行下述步骤。若没启动,先启动:

/usr/local/redis/bin/redis-server /usr/local/redis/cluster/6379/redis-6379.conf

注:以下步骤会删除redis中的已存在的数据,若需保留数据,慎用

第一步

清理文件(appendonly.aof,dump.rdb,nodes.conf)

find / -name appendonly.aof | awk '{print $1}' | xargs -i rm -f {} 
find / -name dump.rdb | awk '{print $1}' | xargs -i rm -f {} 
find / -name nodes.conf | awk '{print $1}' | xargs -i rm -f {} 

上述命令会依次删除服务器上的appendonly.aof,dump.rdb,nodes.conf文件。
注:由于上述命令会删除所有名为上述文件的文件,故若在服务器上存在非集群模式的redis 需核对后删除。

第二步

启动redis服务, 连接redis,清除数据库

/usr/local/redis/bin/redis-cli -h 192.168.31.xxx -p 6379

登录redis成功后,执行flushdb命令,返回ok,即操作成功。对各个端口的redis 执行上述操作。

注:上述 -h 192.168.31.xxx 需用服务器地址,即使在本机上输入名,也不应使用localhost代替。

第三步

创建集群:

redis-trib create --replicas 1 192.168.31.xxx:6379 192.168.31.xxx:6379 192.168.31.xxx:6379 192.168.31.xxx:6380 192.168.31.xxx:6380 192.168.31.xxx:6380

创建集群成功。

由于在多台服务器间需要输入相同的命令,可设置xshell一条命令,多窗口执行。
设置如下:
06051
勾选 Compose Bar,勾选后,xshell下方有如下窗口:
06052
点击箭头指向的按钮,会有一个选择框。使用多端操作,需选择To All Sessions 或者 To All Xshell,然后在其右侧输入命令即可。

注:右侧命令无法使用Tab键自动补全功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值