大量插入后Cassandra压力测试失败



我一直在尝试使用压力测试向Cassandra插入10亿条记录,在插入了几百万次之后,它失败了,出现以下错误:

操作[641412926]重试10次-插入密钥0641412926 ((UnavailableException))出错

操作[641412995]重试10次-插入密钥0641412995 ((UnavailableException))出错

操作[641413235]重试10次-插入密钥0641413235 ((UnavailableException))出错

操作[641413164]重试10次-插入密钥0641413164 ((UnavailableException))出错

我在每次压力测试中都观察到这个问题。有时,集群中的任何一个节点都会出现故障。这是已知的问题吗?有什么特别的原因吗?我在8台机器的集群上使用Cassandra 1.2.3。

谢谢,VS .

UnavailableException表示您所联系的节点在集群中找不到足够的副本来满足所请求的键。如果你的节点在压力测试期间上下波动,你可能需要更多的容量来处理你在集群上运行的负载。

为什么会发生这种情况?你可能在某些方面能力不足。如果没有耗尽磁盘空间,则应该评估CPU负载和IO,以尝试弄清楚发生了什么。在使用Cassandra时,区分峰值负载和持续负载是很重要的。虽然Cassandra可以处理短暂的峰值,但完全有可能在一个节点上扔更多的负载,而不是长期处理。这意味着如果你的高峰持续五分钟,你可能就没事了。如果您的峰值持续了几天,您应该增加容量,因为您的集群最终将落后。

首先要检查的是要插入的节点是否已启动并且cassandra正在运行。如果是的话,那你可能会压倒卡桑德拉。通常,当JVM垃圾收集进程以灾难性的方式失败时,在JVM中运行的应用程序无法恢复。这可能是您触发的错误条件,这可能是Cassandra节点无法恢复的原因。要确认是否存在这种情况,请启用更详细的GC日志记录和/或查看system.log中现有的JVM GC日志消息。

最新更新