当前位置: 首页 > 知识库问答 >
问题:

cassandra是否会刷新nodetool Stop daemon上的memtable。如果没有,如何避免数据丢失

尤祖鹤
2023-03-14

我正在使用apache-cassandra-3.10。

我知道除了kill -9 pid,优雅地停止cassandra的唯一方法是nodetool stopdaemon。

但我想知道nodetool stodaemon是否也会在关机前将memtable中的数据刷新到sstables。

如果它不刷新,那么当我使用 nodetool stopdaemon 停止节点时,它会导致数据丢失。

也是在研究了这个之后,我读到了关于持久写入的内容。耐久写实际上做什么?

此外,datastax留档在设置部分DURABLE_WRITES“不要使用SimpleStrategy在键空间上设置此属性”下的状态

参考:https://docs.datastax.com/en/cql/3.1/cql/cql_reference/create_keyspace_r.html

如果我的密钥空间配置了简单策略怎么办,我仍然无法从DURABLE_WRITES中受益,以防它可以帮助关闭时数据丢失?

手动运行nodetool在关机前是否刷新,是确保我们在关机时不会丢失数据的唯一方法?

我读了https://issues.apache.org/jira/browse/CASSANDRA-3564没有添加关闭时刷新的功能。

同样的问题也有一张未结的票https://issues.apache.org/jira/browse/CASSANDRA-12001

目的是避免在使用nodetool stopdaemon关闭时丢失任何数据。考虑到简单策略的使用,关闭前基本上刷新所有表。

共有2个答案

杨慎之
2023-03-14

卡桑德拉非常健壮,并且不会发生碰撞。即使您终止/停止守护进程,也可能不会丢失数据。但如果你能安全关机,那么你就可以为卡桑德拉节省启动时间。

请按照以下步骤安全关机:

    < li>nodetool禁用流言蜚语 < li>nodetool disablethrift < li>nodetool disablebinary(对于Cassandra 2.0及更高版本) < li >节点工具排放

禁用八卦会停止与其他节点的通信,禁用节俭和二进制文件会停止与客户端的通信。

最后排水冲洗所有桌子。

现在要么杀死Cassandra要么阻止守护进程

秦阳旭
2023-03-14

节点工具排水就足够了。
从数据关于节点醇排出的文档,

将所有内存表从节点刷新到磁盘上的表。Cassandra停止侦听来自客户端和其他节点的连接。运行nodetool drain后需要重启Cassandra。< br >链接:节点工具排出

然后,您可以终止或运行< code>nodetool stopdaemon。

 类似资料:
  • 刷新页面后,我无法注销。我认为问题在于获取当前用户的方法或检查用户管理的方法。 管理员授权守卫。服务ts } 使用者服务ts 登录名。组成部分ts 使用者模型ts

  • 我从一个用spark-kafka-cassandra(在kubernetes上)重写猛犸象spark-kafka-hbase应用程序的初步想法开始。 我有以下数据模型,一个支持全时插入,另一个支持upserts 办法1: 创建表test.inv_positions( location_id int, item bigint, time_id timestamp, sales_floor_qty i

  • 我在cassandra集群中添加了一个新节点(新节点不是种子节点)。现在我的集群上有3个节点: 我的复制因子为3: 我还尝试更改该选项,但数据仍然没有复制到新节点:auto_bootstrap:true 你能帮我理解为什么数据没有在新节点上复制吗? 请让我知道,如果你需要从我的配置进一步的信息。 谢谢你的帮助

  • 问题内容: 某些数据库功能(例如和)很容易受到死锁的影响,因为数据库未指定将使用哪种锁定顺序。我发现有两次 讨论暗示此行为不是SQL标准指定的,更不用说具体的实现了。因此,我在假设我们无法控制锁定顺序的情况下进行操作(至少,这样做并不明显)。 如果我们不能依赖锁定顺序,应该如何避免数据库死锁? 如果我们不应该避免僵局(您将不得不非常努力地说服我),那么我们应该怎么做? 这个问题与数据库无关,所以请

  • Lodash castArray函数没有任何特殊之处。有没有什么方法可以在没有任何外部库的情况下,利用最新的语言功能解决这个问题,但时间很短? 如果您不熟悉该任务: 有没有办法在没有类型检查的情况下做到这一点?请注意,我寻找最短的等效物ES6。