Solr — тайм-ауты API коллекций

У меня есть установка с 3 узлами зоопарка и 4 узлами solrcloud.

Это все работает, все узлы видят друг друга, и у меня изначально была коллекция по умолчанию.

Оттуда я использовал API коллекций для создания новой коллекции, которая была успешно завершена, и вся она была успешно разделена на 2 узла, а остальные 2 использовались для реплик. Я также могу успешно сохранять документы в эту коллекцию. Просмотр веб-интерфейса solr на любом из ящиков работает, проблем со скоростью нет.

Однако каждый раз, когда я пытаюсь использовать API коллекций, я получаю тайм-ауты. Создание новой коллекции, перезагрузка одной из существующих коллекций, удаление коллекции... время ожидания всех этих действий истекло.

Любые мысли о том, почему будут высоко оценены

Ваше здоровье


person johnnyboy    schedule 25.03.2014    source источник
comment
Какая у вас версия Solr? Находятся ли ваши узлы на другой физической или виртуальной машине? Не могли бы вы дать подробную информацию? :)   -  person cguzel    schedule 25.03.2014
comment
Солер 4.7.0. Узлы — это разные физические машины, как и смотрители зоопарка. Проблема закончилась тем, что один из хранителей зоопарка знал об остальных, но у двух других не было их zoo.cfg, ссылающегося на все другие экземпляры хранителей зоопарка.   -  person johnnyboy    schedule 25.03.2014
comment
Вы изучили журналы solr и zookeeper? В логах есть исключения?   -  person cguzel    schedule 25.03.2014


Ответы (4)


Такой тайм-аут может возникнуть, когда Solr не может получить состояние кластера. Если следующий вызов приводит к тайм-ауту, то это так.

http://solr-hostname:8983/solr/admin/collections?action=CLUSTERSTATUS&wt=json

Это может быть вызвано неправильными записями, присутствующими в /clusterstate.json

Чтобы это исправить:

  • получить состояние кластера от ZooKeeper, позвонив

    zkcli.sh -zkhost localhost:2181 -cmd get /clusterstate.json > clusterstate.json
    
  • отредактируйте извлеченный файл clusterstate.json и удалите разделы с неправильными IP-адресами или несуществующими хостами
  • очистить состояние кластера в ZooKeeper, вызвав

    zkcli.sh -zkhost localhost:2181 -cmd clear /clusterstate.json
    
  • сохранить исправленное состояние в ZooKeeper, отправив обновленный файл JSON

    zkcli.sh -zkhost localhost:2181 -cmd putfile /clusterstate.json ./clusterstate.json`
    
  • перезапустить экземпляры Solr

После этого, если ваше состояние кластера показывает правильную информацию, у вас больше не должно быть тайм-аутов при доступе к API коллекций.

Примечание

Будьте осторожны при редактировании JSON состояния кластера, ограничивайте свои изменения только удалением не существующих хостов/реплик/осколков.

person jbochniak    schedule 18.05.2016

Я также столкнулся с подобной проблемой:

Solr process 24214 running on port 8983
Failed to get system information from http://localhost:8983/solr/ due to: org.apache.solr.client.solrj.SolrServerException: clusterstatus the collection time out:180s
    at org.apache.solr.util.SolrCLI.getJson(SolrCLI.java:537)
    at org.apache.solr.util.SolrCLI.getJson(SolrCLI.java:471)
    at org.apache.solr.util.SolrCLI$StatusTool.getCloudStatus(SolrCLI.java:721)
    at org.apache.solr.util.SolrCLI$StatusTool.reportStatus(SolrCLI.java:704)
    at org.apache.solr.util.SolrCLI$StatusTool.runTool(SolrCLI.java:662)
    at org.apache.solr.util.SolrCLI.main(SolrCLI.java:215)

Поэтому, чтобы решить эту проблему, я выполнил данную инструкцию и решил ее.:

  • Остановить все экземпляры Solr
  • Остановить все экземпляры Zookeeper
  • Запустить все экземпляры Zookeeper
  • Запускайте экземпляры Solr по одному.
person Saurabh    schedule 21.07.2016

У меня также были проблемы с тайм-аутом в API коллекций. Чтобы решить эту проблему, я добавил IP-адрес сервера в файл solr.xml, который вы найдете в /var/solr/data/solr.xml. Моя установка состоит из 3 серверов Ubuntu, на каждом из которых работают ZooKeeper (3.4.6) и SolrCloud (5.2.1).

person thd    schedule 16.07.2015

В итоге оказалось несоответствие конфигурации Zoo Keeper

person johnnyboy    schedule 25.03.2014
comment
Какой у вас был пропущенный матч .. Я тоже столкнулся с похожей проблемой. - person Ajo Mathew; 14.08.2015
comment
Не могли бы вы описать решение? - person Martin Andersen; 08.06.2018