问题标签 [redis-cluster]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5081 浏览

redis - 将 Redis 数据迁移到集群

我们有一个具有大量数据(超过 100GB)的 Redis 实例。我们还有一个带有 6 个节点的空 Redis 集群。将所有数据从独立实例移动到 Redis 集群并使其均匀分布的最佳方法是什么?

0 投票
1 回答
3087 浏览

redis - WAIT命令能否在Redis中提供强一致性?

问候溢出者,

在 Redis sentinel/cluster setup 中,我们是否可以使用 WAIT 命令和从站总数来确保 Redis 服务器之间的强一致性?为什么不?

亲切的问候

0 投票
1 回答
137 浏览

configuration-files - 如何避免在 puppet 节点的类声明中重复自己?

基本上,我发现自己每次都在做同样的长类声明:

让我们假设,对于这个集群,每个 FIFTH 节点都有一个单独的主节点。

那么,猜猜唯一改变的部分是什么?

一定有更好的方法。
-- 风中奇缘 (1995) 1

根据https://docs.puppetlabs.com/puppet/latest/reference/lang_node_definitions.html#multiple-names,使用 Puppetinherits关键字是个坏主意。

另外,令我沮丧的是,在https://docs.puppetlabs.com/puppet/latest/reference/lang_node_definitions.html#aside-best-practices中,他们描述了以下最佳实践:

旁白:最佳实践

虽然节点语句几乎可以包含任何 Puppet 代码,但我们建议您只使用它们来设置变量和声明类。避免在其中使用资源声明、收集器、条件语句、链接关系和函数;所有这些都属于类或定义的类型。这将更容易在节点定义和 ENC 之间切换。2

我可以定义自定义类型吗?

我通读了How to pass node specific information to class in puppet?,但我不确定他问的和我一样,虽然我非常愿意学习如何定义类型,但我对它们的熟悉程度不足以决定是否走那条路。

对于这个 Redis 集群,我如何避免在每个 Puppet Node 定义中重复自己?

我什至欢迎一个非常通用的答案,我可以将其应用于我的特定案例,我也已经概括了。

更新:通过 common.yaml 文件为这组环境应用 Hiera 的通用配置似乎已经奏效。如果 Dan Bowling 没有自愿回答,我将在回答中进一步详细说明。

0 投票
2 回答
1037 浏览

python - 从给定的 Redis 集群中,我如何运行 Redis CLI 或 API 调用来获取整个集群上每个键的列表,而不仅仅是一台机器?

这仅适用于初始 Redis 设置。显然,在生产系统上,整个多机数据库的转储将很难排序。

尽管我更喜欢 Python,但我会接受任何语言的答案。

一个简单的 Redis CLI 命令也可以。

0 投票
1 回答
5977 浏览

redis - ERR Slot xxx 已经很忙 (Redis::CommandError)

我想设置具有 6 个节点(node1、node2、node3、node4、node5、node6)的 redis 集群,它有 3 个主节点和 3 个从节点。每个节点都有这个配置文件

redis.conf

创建集群时出现错误。创建命令:

错误:

我也做了这些,但也得到了同样的错误信息

  1. 使用 IP 地址而不是主机名
  2. 删除每个节点中的nodes.conf
0 投票
1 回答
3668 浏览

redis - Redis 集群:主节点故障没有自动故障转移

我正在尝试用 6 台机器实现 Redis 集群。我有一个由六台机器组成的流浪集群:

所有正在运行的 redis-server

我编辑了上述所有服务器的 /etc/redis/redis.conf 文件,添加了这个

然后我在六台机器中的一台上运行它;

Redis 集群已启动并正在运行。我通过在一台机器上设置值手动检查它显示在另一台机器上。

我的问题是,当我在任何一台机器上关闭或停止 redis-server 时,master整个集群都会出现故障,但是如果所有三个从属服务器都死了,集群仍然可以正常工作。

如果主人失败(容错),我应该怎么做才能让奴隶变成主人?

我假设 redis 可以处理所有这些事情,并且在部署集群后我不必担心它。我是对的还是我必须自己做事?

另一个问题是假设我有六台 16GB RAM 的机器。在这个具有三个主机和三个从机的 Redis 集群上,我可以处理多少总数据?

谢谢你。

0 投票
1 回答
397 浏览

redis - redis集群给客户端127.0.0.1 ip

并在集群启动后。每个节点都显示它的 ip:port 为 127.0.0.1:3000x

并且客户端在另一台机器上。肯定达不到 127.0.0.1:3000x

是否有任何配置要求 redis 节点使用子网 ip 而不是 127.0.0.1?

我在 config.xml 中没有找到任何主机配置。

我找到了绑定指令。并使用它。每个节点都告诉我IP address for this node updated to 10.1.130.193。问题解决了。

0 投票
1 回答
6306 浏览

node.js - 通过 Node.js 连接到 ElastiCache 集群

我对如何通过 Node.js 连接到 AWS 的 ElastiCache Redis 感到困惑。我已经成功地通过 node_redis NPM 连接到主主机 (001),但我无法使用 ioredis 的集群能力,因为显然 ElastiCache 没有实现 CLUSTER 命令。

我认为必须有另一种方法,但适用于 Node 的 AWS 开发工具包只有用于管理 ElastiCache 的命令,而不是用于实际连接它的命令。

如果不使用 CLUSTER,我担心如果主节点发生故障,我的应用程序将无法进行故障转移,因为我无法回退到其他集群。当主切换时,我也从我的 Redis 客户端收到错误,我Error: READONLY You can't write against a read only slave.不确定如何优雅地处理。

这是我想太多了吗?我发现关于将 ElastiCache Redis 集群与 Node.js 一起使用的信息非常少。

0 投票
2 回答
10532 浏览

database - Redis数据加密怎么做?

我们可以使用spipedstunnel在数据传输时保护数据。但是我们如何在数据静止时做到这一点?如果有人拿走了整个数据库怎么办?我们如何加密持久数据存储?我们需要在应用层这样做吗?

0 投票
1 回答
3846 浏览

redis - Redis nodes.conf 文件被锁定?

我正在按照本教程创建一个 Redis 集群:

http://redis.io/topics/cluster-tutorial

在本教程中,我需要在端口 7000 到 7005 上运行多个 redis-server 实例。但是,在我成功运行第一个实例并尝试运行第二个实例后,nodes.conf 文件似乎被锁定,我收到以下错误消息:

“抱歉,集群配置文件nodes.conf已经被不同的Redis集群节点使用了,请确保不同的节点使用不同的集群配置文件。”

每个服务器实例都需要单独的 nodes.conf 吗?或者我是否需要在每个实例目录中都有一个单独的 redis-server 可执行文件并从那里运行它?