【问题标题】:insert fails with Durable Writes on Node down插入失败,节点上的持久写入失败
【发布时间】:2015-08-11 11:27:18
【问题描述】:

我有 2 个节点集群,replication={'class' : 'NetworktopologyStrategy','DC':'1'} AND persistent_writes=true;

,当其中一个节点关闭时,我的插入失败。

一致性级别为 1。

【问题讨论】:

  • 您是否从 cqlsh 调用插入?粘贴插入中的跟踪。
  • 从 id=1 的股票中选择 *;回溯(最后一次调用):文件“C:\apache-cassandra-2.1.8-bin\apache-cassandra-2.1.8\bin\\cqlsh”,第 1078 行,在 perform_simple_statement rows = self.session.execute(声明,trace=self.tracing_enabled)文件“C:\apache-cassandra-2.1.8-bin\apache-cassandra-2.1.8\bin\..\lib\cassandra-driver-internal-only-2.6.0c2. post.zip\cassandra-driver-2.6.0c2.post\cassandra\cluster.py",第 1594 行,在执行结果 = future.result(timeout)
  • 文件 "C:\apache-cassandra-2.1.8-bin\apache-cassandra-2.1.8\bin\..\lib\cassandra-driver-internal-only-2.6.0c2. post.zip\cassandra-driver-2.6.0c2.post\cassandra\cluster.py”,第 3296 行,结果引发 self._final_exception 不可用:代码 = 1000 [不可用异常] 消息 =“无法达到一致性级别 ONE”信息 = {'required_replicas': 1, 'alive_replicas': 0, '一致性': 'ONE'}

标签: cassandra cassandra-2.0


【解决方案1】:

要让一个节点宕机的所有插入成功,您需要使用复制因子 2。当您仅使用复制因子 1 时,插入可能会散列到宕机节点,因此无法完成写。

如果您的复制因子为 2,并且执行一致性为 ONE 的写入,则它可以写入仍在运行的节点。

或者,如果您打开提示切换并以 ANY 的一致性级别写入,那么您可以使用 1 的复制因子并且插入仍然会成功,但写入会延迟,直到关闭节点恢复。

【讨论】:

  • 谢谢 Jim,keyspace 表大约 65 GB(10 个表),更改 RF 将需要 Nodetool 修复,最终将运行每个范围的修复,有没有办法计算出多少时间维修可能需要。
  • 如果你运行“nodetool compactionstats”,我想它会告诉你有多少任务等待修复。您也许可以通过监控来估计剩余时间。
猜你喜欢
  • 1970-01-01
  • 2011-01-17
  • 2013-11-01
  • 2019-04-09
  • 2010-09-12
  • 1970-01-01
  • 1970-01-01
  • 2012-08-13
  • 2019-10-12
相关资源
最近更新 更多