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 nodetool修复冻结整个集群_Cassandra_Repair_Nodetool - Fatal编程技术网

Cassandra nodetool修复冻结整个集群

Cassandra nodetool修复冻结整个集群,cassandra,repair,nodetool,Cassandra,Repair,Nodetool,需要帮助了解Cassandra在我们的键空间中的一个列族上尝试nodetool修复时发生了什么 我们正在运行Cassandra 2.0.7,并且在我们的系统中有一个用于索引对象数据的表 CREATE TABLE ids_by_text ( object_type text, field_name text, ref_type text, value text, ref_id timeuuid, PRIMARY KEY((object_type,field_name,ref

需要帮助了解Cassandra在我们的键空间中的一个列族上尝试nodetool修复时发生了什么

我们正在运行Cassandra 2.0.7,并且在我们的系统中有一个用于索引对象数据的表

CREATE TABLE ids_by_text (
  object_type text,
  field_name text,
  ref_type text,
  value text,
  ref_id timeuuid,
  PRIMARY KEY((object_type,field_name,ref_type),value,ref_id)
) 
行可以增长到相当大。数据库中大约有1000万个对象,平均有4-6个字段通过上表对它们进行索引。对我来说似乎不多

在运行nodetool修复时,我们将运行一段时间,然后到达引发以下异常的点:

ERROR [AntiEntropySessions:8] 2014-07-06 16:47:48,863 RepairSession.java (line 286) [repair #5f37c2e0-052b-11e4-92f5-b9bfa38ef354] session completed with the following error
org.apache.cassandra.exceptions.RepairException: [repair #5f37c2e0-052b-11e4-92f5-b9bfa38ef354 on apps/ids_by_text, (-7683110849073497716,-7679039947314690170]] Sync failed between /10.0.2.166 and /10.0.2.163
    at org.apache.cassandra.repair.RepairSession.syncComplete(RepairSession.java:207)
    at org.apache.cassandra.service.ActiveRepairService.handleMessage(ActiveRepairService.java:236)
    at org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:59)
    at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:60)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
 INFO [ScheduledTasks:1] 2014-07-06 16:47:48,909 GCInspector.java (line 116) GC for ConcurrentMarkSweep: 66029 ms for 1 collections, 7898896176 used; max is 8547991552
 INFO [GossipTasks:1] 2014-07-06 16:47:48,901 Gossiper.java (line 883) InetAddress /10.0.2.162 is now DOWN
 INFO [GossipTasks:1] 2014-07-06 16:47:49,181 Gossiper.java (line 883) InetAddress /10.0.2.163 is now DOWN
 INFO [GossipTasks:1] 2014-07-06 16:47:49,184 StreamResultFuture.java (line 186) [Stream #da84b3e1-052b-11e4-92f5-b9bfa38ef354] Session with /10.0.2.163 is complete
 WARN [GossipTasks:1] 2014-07-06 16:47:49,186 StreamResultFuture.java (line 215) [Stream #da84b3e1-052b-11e4-92f5-b9bfa38ef354] Stream failed
 INFO [GossipTasks:1] 2014-07-06 16:47:49,187 Gossiper.java (line 883) InetAddress /10.0.2.165 is now DOWN
 INFO [GossipTasks:1] 2014-07-06 16:47:49,188 Gossiper.java (line 883) InetAddress /10.0.2.164 is now DOWN
 INFO [GossipTasks:1] 2014-07-06 16:47:49,189 Gossiper.java (line 883) InetAddress /10.0.2.166 is now DOWN
 INFO [GossipTasks:1] 2014-07-06 16:47:49,189 StreamResultFuture.java (line 186) [Stream #da84b3e0-052b-11e4-92f5-b9bfa38ef354] Session with /10.0.2.166 is complete
 WARN [GossipTasks:1] 2014-07-06 16:47:49,189 StreamResultFuture.java (line 215) [Stream #da84b3e0-052b-11e4-92f5-b9bfa38ef354] Stream failed
此时,其他节点将无响应,抛出TPStatus日志,基本上无响应。系统不会从中恢复。我们死了

我在所有节点上运行了“nodetool scrub”。这对它们中的大多数都有效,有些失败了,所以我对它们使用了“sstablescrub”。我们编写了一个脚本,对子范围进行了修复,我可以识别出有问题的范围,但我还没有做足够的测试来知道这是一致的还是有症状的。当测试导致生产下降时,测试是困难的,所以我必须谨慎

侧边栏问题。。。如何停止正在进行的维修?如果我能看到事情的发展,我想阻止它

请注意,键空间中的每一个其他列族都可以很好地修复

我不确定还有什么其他细节可以提供。我们已经为此绞尽脑汁一个星期了,我们被卡住了。

这()可能与修复失败后反应迟钝有关。它已在最新的2.0.9版本中修复

如何停止正在进行的维修


它仍在进行中()。

您可以在2.1*中停止修复,如下所示:

wget -q -O jmxterm.jar http://downloads.sourceforge.net/cyclops-group/jmxterm-1.0-alpha-4-uber.jar
java -jar ./jmxterm.jar
open localhost:7199 -u [optional username] -p [optional password]
bean org.apache.cassandra.db:type=StorageService
run forceTerminateAllRepairSessions