首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >卡桑德拉簇平损失

卡桑德拉簇平损失
EN

Stack Overflow用户
提问于 2017-12-24 14:23:38
回答 2查看 349关注 0票数 0

我们有三个节点卡桑德拉集群。欧盟(种子)有2个节点,美国有1个节点。有时我们会遇到网络问题--欧盟( EU )和美国( US )节点之间的平差损失。网络问题后的影响是美国节点上丢失了一些数据。我们需要手动启动nodetool repair来修复损失。有人能建议我如何处理这个案子吗?

下面是我们的关键空间创建:

代码语言:javascript
复制
CREATE KEYSPACE test WITH replication = {'class': 'NetworkTopologyStrategy', 'dc1': '2', 'dc2': '1'}  AND durable_writes = false;

dc1 - EU服务器-2个节点

dc2 - US服务器-1节点

EN

回答 2

Stack Overflow用户

发布于 2017-12-25 15:18:55

我们通过自动修复卡桑德拉解决了类似的问题。

我们从cassandra操作机器上运行cron作业(它不是集群的一部分,但我们可以从它运行指向正在考虑的集群的nodetool命令)。

每到午夜,cron的工作都会进行nodetool的修复。它每天都在进行增量维修,但在每个月的第一天,当它进行全面修理的时候除外。你可以根据你的需要来决定时间表。

我看不出还有什么解决办法。当节点面临最基本的问题-平差时,您能做些什么?

您还能做的是重新考虑多区域集群的决定。试着考虑拥有多个区域(位于不同物理位置但位于区域内的节点)集群。

票数 0
EN

Stack Overflow用户

发布于 2018-02-01 20:56:28

看来我们的问题是在gc_grace_seconds。我们的表创建如下:

default_time_to_live = 7200 gc_grace_seconds = 60

如果美国节点处于关闭状态,则在gc_grace_seconds期间数据无法同步之后。我们试图将gc_grace_seconds的值提高到7200,并且似乎当美国节点处于up时,数据是同步的。

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

https://stackoverflow.com/questions/47961381

复制
相关文章

相似问题

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