Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 卡桑德拉数据丢失_Cassandra - Fatal编程技术网

Cassandra 卡桑德拉数据丢失

Cassandra 卡桑德拉数据丢失,cassandra,Cassandra,我的卡桑德拉数据库刚刚丢失了大部分数据。这只是测试数据,但我仍然需要了解发生了什么,并确保真实数据不会发生这种情况 我正在Windows服务器上运行cassandra 1.1作为服务。数据库接收来自c#应用程序的数据。脚本终止并重新启动了cassandra服务。之后,过去20小时左右的所有数据都消失了。旧的数据仍然存在 有可能所讨论的数据从未写入光盘。但是,db在所讨论的20小时内正确地回答了查询,因此数据必须至少在内存中 除了存储位置等之外,配置与默认配置相同。刷新策略为 commitlog_

我的卡桑德拉数据库刚刚丢失了大部分数据。这只是测试数据,但我仍然需要了解发生了什么,并确保真实数据不会发生这种情况

我正在Windows服务器上运行cassandra 1.1作为服务。数据库接收来自c#应用程序的数据。脚本终止并重新启动了cassandra服务。之后,过去20小时左右的所有数据都消失了。旧的数据仍然存在

有可能所讨论的数据从未写入光盘。但是,db在所讨论的20小时内正确地回答了查询,因此数据必须至少在内存中

除了存储位置等之外,配置与默认配置相同。刷新策略为

commitlog_sync: periodic 
commitlog_sync_period_in_ms: 10000
任何提示都值得赞赏,包括尝试什么以及在日志文件或配置中查找什么

编辑:在多做一点实验后,我现在可以复制以下内容:

  • 插入新数据-确定
  • 查询新数据-确定
  • 停止并重新启动数据库-所有新数据现在都消失了:((旧数据仍然存在)
  • 日志文件中没有任何内容,只有“日志重放完成,0次重放”

Edit2:从一个新的空数据库开始,现在一切正常(当然配置相同)。使用损坏数据库的备份,我可以再次重现上述问题。我在cassandra中发现错误了吗?显然,我的数据库处于提交日志未写入或未正确回放的状态。

我会查看数据目录,并想知道它们是否正确设置。它们是否正确存在?它们是否正确ritable?与您正在使用的数据库进行比较。请注意,在您执行节点工具修复之前,其中一个目录不会写入太多内容

我的猜测是cass完全是靠记忆工作的,因为它不会写字


它应该为每次更新都写一个日志记录。

听起来像是“新的突变不会重演,但旧的突变仍然存在”,这是在1.1.6中修复的。最新的1.1版本是1.1.8;您应该升级到该版本。

升级到1.1.8后,它重演了一些突变(根据日志文件)但大部分数据似乎都丢失了。希望从现在起它能起作用。