Sye*_*afa 5 cassandra data-loss nodetool datastax
我正在使用apache-cassandra-3.10
我知道优雅地停止 cassandra 的唯一方法是nodetool stopdaemon ,而不是kill -9 pid。
但我想知道nodetool stopdaemon在关闭之前是否也将memtables中的数据刷新到sstables。
如果它不刷新,那么当我使用 nodetool stopdaemon 停止节点时,会导致数据丢失。
在对此进行研究之后,我读到了有关DURABLE_WRITES 的信息。持久写入实际上有什么作用?
此外,datastax 文档在设置 DURABLE_WRITES “不要使用 SimpleStrategy 在键空间上设置此属性”部分下指出
参考: https: //docs.datastax.com/en/cql/3.1/cql/cql_reference/create_keyspace_r.html
如果我的键空间配置为简单策略,我仍然无法从DURABLE_WRITES中受益,以防它有助于解决关机时的数据丢失问题?
在关闭之前手动运行nodetoollush是确保我们在关闭时不会丢失数据的唯一方法吗?
我从https://issues.apache.org/jira/browse/CASSANDRA-3564中了解到,尚未添加关闭时刷新的功能。
另外还有关于同一问题的开放票 https://issues.apache.org/jira/browse/CASSANDRA-12001
目的是避免使用 nodetool stopdaemon 关闭时丢失任何数据。基本上在关闭之前刷新所有表,考虑使用简单策略。
Cassandra 非常强大且防碰撞。即使您终止/停止守护进程,您也可能不会丢失数据。但如果您安全关闭,则可以节省 Cassandra 的启动时间。
请按照以下步骤安全关闭:
禁用 gossip 会停止与其他节点的通信,禁用 thrift 和 binary 会停止与客户端的通信。
最后下水道冲洗所有桌子。
现在通过终止或停止守护进程来停止 Cassandra
| 归档时间: |
|
| 查看次数: |
4856 次 |
| 最近记录: |