gpt4 book ai didi

node.js - Cassandra 向已关闭的 Node 请求数据?

转载 作者:太空宇宙 更新时间:2023-11-04 01:00:30 24 4
gpt4 key购买 nike

设置:2 个 Node ,Ec2Snitch
1 个 Node UP 54.1xx.1xx.1xx

1 个 Node 宕机 54.1xx.2xx.1xx [故意]

Keyspace 网络拓扑复制因子为 2(两个 Node 都有数据)

现在我测试了一致性级别 1 的读取。

我收到“尝试查询的所有主机均失败。尝试的第一个主机,54.1xx.2xx.1xx:主机被视为已关闭。请参阅内部错误。”
为已关闭的 Node 获取此信息。

为什么我会收到此异常? Cassandra 不应该自动服务来自已启动 Node 的所有请求吗? [我期待 Cassandra 能够处理它。]

或者我们应该处理一个 DN(正常下降)的 Node 我该如何处理这个问题?

如果我手动将 Down Node 设置为 Up,我会收到所有响应,否则我会在总请求的前 1/4 中收到上述错误。

最佳答案

Cassandra 的 DataStax Node.js 驱动程序中的默认负载平衡策略是 TokenAwarePolicy with DCAwareRoundRobinPolicy as child policy 。DCAwareRoundRobinPolicy 默认设置为使用 0 个远程 Node 。

如果本地 Node 出现故障,您可以将其更改为使用每个远程数据中心的 1 个 Node 。

var localDc = "east1";
var remoteNodes = 1;
var options = {
policies: {loadBalancing: new DCAwareRoundRobinPolicy(localDc, remoteNodes)}
};
var client = new Client(options);

关于node.js - Cassandra 向已关闭的 Node 请求数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27106390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com