2017-04-14 65 views
-1

當一個或多個分片發生故障時,我需要測試Elasticsearch 5應用。有沒有辦法強行殺死一個碎片? (使用Java,或捲曲或Sense?)Elasticsearch - 強行殺死分片

+0

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

+0

如果我禁用碎片分配,我將無法運行搜索,對吧?我想運行一個搜索,但在這個過程中,需要打倒一個分片。 – user2689782

+0

如果您位於單個節點上,則只會分配主分片。殺死主分片是沒有意義的,這意味着你錯過了一些數據,並且你的集羣會被損壞。 ES提供這樣一個功能就更沒有意義了。你爲什麼要測試? – Val

回答

0

沒有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