我所有的Redis服务器都是这样配置的:
主控: 192.168.0.106:7001,192.168.0.105.7001,192.168.0.112:7001
从机: 192.168.0.106:7002,192.168.0.105:7002,192.168.0.122:7002
其中192.168.0.106:7002服务器是192.168.0.106:7001服务器的从属服务器,依此类推。我所有的服务器都在运行,可以对所有的服务器执行redis-cli。我还可以看到17001和17002端口打开。但是当我运行的时候:
./redis-trib.rb create --replicas 1 192.168.0.106:7001 192.168.0.105:7001 192.168.0.112:7001 192.168.0.106:7002 192.168.0.105:7002 192.1268.0.112:7002
我得到一个错误:
创建集群
错误,抱歉,无法连接到节点192.168.0.106:7001
我不知道如何解决这个问题,当所有的服务器都在工作并且它们的端口都是打开的时候?
一件事是,我确实有一个密码保护的主机。也许redis-trib.rb不能处理有密码保护的服务器?
发布于 2016-02-19 23:55:51
redis-trib.rb无法处理受密码保护的Redis节点。
所以尝试在这样的节点上使用它会导致错误对不起,无法连接到节点。
为什么redis-trib.rb实用程序不能处理经过身份验证的节点?
这与这样一个事实有关,即当Redis节点受到密码保护时,只有其主端口(默认情况下为6379)上的通信受到保护。群集总线(默认端口+ 10000 = 16379)上的通信,其中群集中的节点彼此通信不受保护。因此,当单个节点受到密码保护时,Redis集群并不是真正受密码保护的。因此,在Redis集群中的单个Redis节点上设置密码几乎不会增加安全价值。因此,redis-trib.rb实用程序没有实现任何身份验证。
更多信息请点击此处:
https://groups.google.com/forum/#!topic/redis-db/Z8lMxTfDct8
发布于 2017-01-05 01:37:42
我也遇到了同样的问题。
但是检查我的实例的redis.conf,我发现绑定选项被注释掉了,默认情况下Redis使用*:port启动进程。
所以我把这段代码添加到了redis.conf中,现在它完美地工作了:
bind 0.0.0.0
如果这是安全错误,您可能需要添加密码或指定正确的IP范围。
发布于 2017-07-21 01:16:17
当您使用外部ip时,而不是127.0.0.1。您必须在redis.conf中添加新行:"protected-mode no“
在教程"https://redis.io/topics/cluster-tutorial“中,您将看到您必须在每个文件夹中创建一个redis.conf : 7000,7001,...,7005
本教程建议:
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes您只需添加一行:
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
protected-mode no切记在机器的防火墙内保证您的安全。
https://stackoverflow.com/questions/35478408
复制相似问题