我有一个 AWS EC2 Cassandra 1.2.8 集群在 6 个 m1.large 实例上运行,并且 jna.jar 可用。我正在做一些灾难恢复测试,我从 s3 下载数据快照并将其安装在新集群上。然后我尝试在节点上运行 nodetool repair。一段时间后(可能是一个小时左右),我会定期收到消息
failed with error java.io.IOException: Cannot proceed on repair because a neighbor (/10.0.22.162) is dead: session failed
当我登录 10.0.22.162 时,我看到 CassandraDaemon Java 进程仍在运行,但netstat -ant
表明该实例不再监听端口 9160。
查看 cassandra 日志,我看到的最后一件事如下:
INFO [AntiEntropyStage:1] 2013-08-20 16:08:53,340 AntiEntropyService.java (line 245) [repair #cdb7f2a0-09b2-11e3-bc42-4bd65b6bc771] Sending completed merkle tree to /10.0.32.59 for (dummy,foo)
ERROR [Thread-1657] 2013-08-20 16:08:53,828 FileUtils.java (line 381) Stopping RPC server
INFO [Thread-1657] 2013-08-20 16:08:53,828 ThriftServer.java (line 116) Stop listening to thrift clients
ERROR [Thread-1657] 2013-08-20 16:08:53,830 FileUtils.java (line 387) Stopping native transport
INFO [Thread-1657] 2013-08-20 16:08:53,838 Server.java (line 151) Stop listening for CQL clients
有谁知道我可以在哪里/如何追踪它并弄清楚为什么节俭服务器会延长假期?
我知道 nodetool 修复是一个过程的猪,所以如果有人告诉我它是资源受限的,我可能需要更多关于如何追踪它的信息。