Как изменить размеры существующего SolrCloud новыми осколками
Я установил структуры SolrCloud, имеющие 3 осколка. Каждый осколок состоит из 2 узлов. Один - лидер, а другой - реплика. Каждый экземпляр solr (как узел) работает на отдельном компьютере. Теперь мне нужно добавить больше машин по мере увеличения объема данных. Но если я добавлю новый узел без создания нового шарда, он просто увеличит количество копий шардов. Я хочу создать больше осколков с новыми машинами, и данные должны быть распределены между осколками.
Для тестирования я создал SolrCloud с одним осколком (2 узла). Я попробовал Solr SPLITSHARD с Solr-4.5.1. Наконец, я вижу всего 3 шарда (shard1, shard1_0 и shard1_1) из окна администратора. Сейчас он показывает всего 6 узлов.
В фоновом режиме он создал следующие папки под каждым узлом.
узел1:
- Solr/collection1
- Solr/collection1_shard1_0_replica1
- Solr/collection1_shard1_1_replica1
узел2:
- Solr/collection1
- Solr/collection1_shard1_0_replica2
- 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 обеспечит эту функциональность.