首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用redis-trib.rb创建集群时出现连接错误?

问使用redis-trib.rb创建集群时出现连接错误?
EN

Stack Overflow用户
提问于 2016-02-18 18:07:52
回答 3查看 6.4K关注 0票数 0

我所有的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不能处理有密码保护的服务器?

EN

回答 3

Stack Overflow用户

发布于 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

票数 2
EN

Stack Overflow用户

发布于 2017-01-05 01:37:42

我也遇到了同样的问题。

但是检查我的实例的redis.conf,我发现绑定选项被注释掉了,默认情况下Redis使用*:port启动进程。

所以我把这段代码添加到了redis.conf中,现在它完美地工作了:

bind 0.0.0.0

如果这是安全错误,您可能需要添加密码或指定正确的IP范围。

票数 1
EN

Stack Overflow用户

发布于 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

本教程建议:

代码语言:javascript
复制
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes

您只需添加一行:

代码语言:javascript
复制
port 7000
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
protected-mode no

切记在机器的防火墙内保证您的安全。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35478408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档