我目前使用Solr的雲6.1,也可以觀察到以下行爲,直到7.0。Solr的雲:跨節點碎片的分佈
我試圖創建一個Solr的收集與5個碎片和2複製因子我有5臺物理服務器。通常情況下,這會將所有10個副本均勻分配到可用服務器中。
但是,當啓動Solr Cloud並使用-h
(主機名)參數爲每個Solr實例提供單個但恆定的主機名時,此功能不再起作用。然後,分佈如下:
solr-0:
wikipedia_shard1_replica1 wikipedia_shard2_replica1 wikipedia_shard3_replica2 wikipedia_shard4_replica1 wikipedia_shard4_replica2
solr-1:
solr-2:
wikipedia_shard3_replica1 wikipedia_shard5_replica1 wikipedia_shard5_replica2
solr-3:
wikipedia_shard1_replica2
solr-4:
wikipedia_shard2_replica2
我試着用Rule-based Replica Placement,但規則似乎被忽略。
我需要使用主機名,因爲Solr的在Kubernetes集羣,其中IP不會忽略頻繁變化和Solr將無法找到它的容器重新啓動後的內核上運行。我首先懷疑一個更新的Solr版本是這個原因,但我縮小了它的主機名問題。
有沒有解決方案?