Как изменить размеры существующего SolrCloud новыми осколками

Я установил структуры SolrCloud, имеющие 3 осколка. Каждый осколок состоит из 2 узлов. Один - лидер, а другой - реплика. Каждый экземпляр solr (как узел) работает на отдельном компьютере. Теперь мне нужно добавить больше машин по мере увеличения объема данных. Но если я добавлю новый узел без создания нового шарда, он просто увеличит количество копий шардов. Я хочу создать больше осколков с новыми машинами, и данные должны быть распределены между осколками.

Для тестирования я создал SolrCloud с одним осколком (2 узла). Я попробовал Solr SPLITSHARD с Solr-4.5.1. Наконец, я вижу всего 3 шарда (shard1, shard1_0 и shard1_1) из окна администратора. Сейчас он показывает всего 6 узлов.

В фоновом режиме он создал следующие папки под каждым узлом.

узел1:

  1. Solr/collection1
  2. Solr/collection1_shard1_0_replica1
  3. Solr/collection1_shard1_1_replica1

узел2:

  1. Solr/collection1
  2. Solr/collection1_shard1_0_replica2
  3. Solr/collection1_shard1_1_replica2

Это означает, что он создал 2 новых ядра под каждый экземпляр. Но я хочу запустить одно ядро ​​под каждой машиной.

2 ответа

У нас тоже была такая же проблема. Единственное решение, которое я вижу для текущей версии Solr, - это добавить реплики на новые машины, дождаться завершения репликации и удалить исходную.

Кроме того, если вы разделите только один фрагмент в коллекции, кластер не будет распределен равномерно. Таким образом, вы должны разделить все осколки по одному и тому же коэффициенту.

Когда вы устанавливаете свойство numShards при создании коллекции, ваше намерение становится невозможным. Другие ответы только показывают о расщеплении оригинала нет. осколков в более нет. шардов, но данные не будут распределены равномерно, т.е. предположим, что 1 данные начинаются с 2 шардов, скажем, S1 и S2. Когда на S1 выполняют разбиение на сегменты, он становится S11, S12, S2, данные которого на S2 намного больше, чем S11, S12. Но я думаю, что вам нужно, чтобы данные в S1 и S2 были равномерно разделены на S11, S12 и S2, где S11, S12 и S2 работают на разных узлах на разных машинах. Это невозможно в текущем Solr (даже v6) AFAIK.

То, что вы хотите, это также я и многие другие пользователи Solrcloud, и я думаю, что это очень нормальное намерение. Будем надеяться, что будущая версия Solrcloud обеспечит эту функциональность.

Другие вопросы по тегам