Elasticsearch - 强行杀死分片

问题描述:

当一个或多个分片发生故障时,我需要测试Elasticsearch 5应用。有没有办法强行杀死一个碎片? (使用Java,或卷曲或Sense?)Elasticsearch - 强行杀死分片

+0

有一种方法可以禁用分片分配。那是你想要做的吗? – RoiHatam

+0

如果我禁用碎片分配,我将无法运行搜索,对吧?我想运行一个搜索,但在这个过程中,需要打倒一个分片。 – user2689782

+0

如果您位于单个节点上,则只会分配主分片。杀死主分片是没有意义的,这意味着你错过了一些数据,并且你的集群会被损坏。 ES提供这样一个功能就更没有意义了。你为什么要测试? – Val

没有API - 你必须等待另一个版本的自毁API ;-)。

但它听起来像一个常见的情况:有一个多节点群集(3通常是生产设置的最低限度),只是杀死一个节点。可以是正常关机,杀死9,停止网络接口,......然后你可以看到Elasticsearch如何在这种情况下行为和恢复。

+0

嗯,但elasticsearch只运行一个进程(如果你做ps -ef | grep elastic *)。那么我怎么能杀死一个节点呢? – user2689782

+0

在测试级别上,我们正在做类似的事情(https://github.com/elastic/elasticsearch/blob/master/test/framework/src/main/java/org/elasticsearch/index/shard/IndexShardTestCase.java)。但我不明白你想在这里测试什么。如何影响一个(或几个)碎片,而不是整个节点。如果你想要高可用性,你至少需要3个节点。 – xeraa