redis配置集群出现 can't connect to node 或者链接远程主机出现 No route to host

redis 的版本是:Redis 3.2.3 (00000000/0) 64 bit

 

在172.0.0.188 执行

 /servers/redis/redis-trib.rb create  172.0.0.188:6379 172.0.0.180:6379 172.0.0.199:6379 172.0.0.154:6379

时,报错:

>>> Creating cluster
[ERR] Sorry, can't connect to node 172.0.0.180:6379

 

有可能的原因就是

1、172.0.0.180 的 redis服务没开启:

查看一下

ps aux | grep redis


root      2859  0.0  0.7 141012  7652 ?        Ssl  18:19   0:00 /servers/redis/bin/redis-server ::1:6379 [cluster]

 

如果还没启动,执行:

/servers/redis/bin/redis-server /servers/redis/redis.conf

 

2、172.0.0.180 对应的端口 是否对外开放:

可以在172.0.0.188 连接看一下:

/servers/redis/redis-cli -h 172.0.0.180/bin

如果出现:

Could not connect to Redis at 172.0.0.180:6379: Connection refused

可以执行:

firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload

 

发现上面问题都处理了,还是出现连接节点不上的情况的话,也有可能是绑定的ip地址问题:

编辑配置文件:

vim /servers/redis/redis.conf

把bind 指令改为对应的ip

bind 127.0.0.1 172.0.0.180

关闭在启动:

/servers/redis/bin/redis-cli shutdown
/servers/redis/bin/redis-server /servers/redis/redis.conf

 

发现真的可以了:

/servers/redis/redis-trib.rb create 172.0.0.188:6379 172.0.0.180:6379 172.0.0.199:6379 172.0.0.154:6379


>>> Creating cluster
>>> Performing hash slots allocation on 4 nodes...
Using 4 masters:
172.0.0.188:6379
172.0.0.180:6379
172.0.0.199:6379
172.0.0.154:6379
M: 182daf01e924e405c9337f093c764c8bbc76b19d 172.0.0.188:6379
   slots:0-4095 (4096 slots) master
M: d5f61c3df20b7b344a3bdbc7ebff48291dc45fbe 172.0.0.180:6379
   slots:4096-8191 (4096 slots) master
M: 53bc0b32ef7f1906bb0fdde463b8be077ed981e3 172.0.0.199:6379
   slots:8192-12287 (4096 slots) master
M: f5aa21b39c76b20af5f2ac4912b22ccf8c9916b8 172.0.0.154:6379
   slots:12288-16383 (4096 slots) master
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster

 

我的问题是这样处理的。

转自: http://www.pangyiguang.com/blog/121.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
出现该错误的原因是连接的 Redis 服务未启动或者端口号不正确。可以按照以下步骤进行排查和解决: 1. 确认 Redis 服务已经启动。可以使用以下命令检查 Redis 服务是否正在运行: ```shell docker ps ``` 如果 Redis 服务正在运行,应该可以看到类似以下的输出: ``` CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1234567890ab redis "docker-entrypoint.s…" 10 minutes ago Up 10 minutes 0.0.0.0:6379->6379/tcp redis ``` 其中 `NAMES` 列显示的是 Redis 容器的名称,`PORTS` 列显示的是 Redis 容器的端口映射情况。 2. 确认连接 Redis 的端口号是否正确。默认情况下,Redis 使用的端口号是 6379。如果你在启动 Redis 容器时指定了不同的端口号,那么在连接 Redis 时需要使用指定的端口号。可以使用以下命令检查 Redis 容器的端口映射情况: ```shell docker port <container_name_or_id> ``` 其中 `<container_name_or_id>` 是 Redis 容器的名称或 ID。如果 Redis 容器的端口映射正确,应该可以看到类似以下的输出: ``` 6379/tcp -> 0.0.0.0:6379 ``` 其中 `6379/tcp` 是 Redis 容器内部使用的端口号,`0.0.0.0:6379` 是 Redis 容器映射到宿主机上的端口号。 3. 确认连接 Redis 的 IP 地址是否正确。如果 Redis 容器绑定的 IP 地址不是 `127.0.0.1`,那么在连接 Redis 时需要使用指定的 IP 地址。可以使用以下命令检查 Redis 容器的 IP 地址: ```shell docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' <container_name_or_id> ``` 其中 `<container_name_or_id>` 是 Redis 容器的名称或 ID。如果 Redis 容器的 IP 地址正确,应该可以看到类似以下的输出: ``` 172.17.0.2 ``` 其中 `172.17.0.2` 是 Redis 容器的 IP 地址。 如果以上步骤都没有解决问题,可以尝试重新启动 Redis 容器或者重新构建 Redis 镜像。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值