Назад | Перейти на главную страницу

Solrcloud: ошибка 500 после перезапуска

У меня 3 окна vm, на всех установлен solr 5.4.0 и zookeeper 3.4.6; две службы запускаются автоматически при запуске виртуальной машины. После перезагрузки vms solr не отвечает правильно, выдает error500:

HTTP ERROR 500 Проблема с доступом к / solr /. Причина: Ошибка сервера ... SolrException: Ошибка обработки запроса. CoreContainer либо не инициализирован, либо завершает работу.

Проверяя журналы, я также видел эту ошибку:

o.a.s.c.SolrCore null: org.apache.solr.common.SolrException: Ошибка при загрузке solr.xml из zookeeper

При попытке остановить службы zookeeper и solr на всех виртуальных машинах и запустить заново (перед запуском zookeeper на всех виртуальных машинах и после solr) иногда требуется, чтобы solr начал работать правильно; в других случаях в разделе пользовательского интерфейса solrcloud мы замечаем, что узлы находятся в неактивном состоянии (написано коричневым)

Я перечисляю процедуры, которые я запускаю для создания кластера solr:

initLimit = 5

syncLimit = 2

dataDir = C: / zookeeper / data

clientPort = 2181

server.1 = zknode1: 2888: 3888

server.2 = zknode2: 2888: 3888

server.3 = zknode2: 2888: 3888

-c -z "zknode1: 2181, zknode2: 2181, zknode3: 2181" -f

Я создаю коллекцию на основе существующей конфигурации на solr, а не в облаке

solr.cmd create_collection -c mycoll -d C: \ conf \ mycoll \ conf -n mycoll -shards 1 -replicationFactor 3

на каждом узле solr видно, что создается папка mycoll_shard1_replicaX, где X изменяется на каждом узле (1,2,3). Все запросы работают, даже импорт данных, но если я перезапускаю узлы, обнаруживаю проблему, описанную выше. Я ошибаюсь в создании коллекции, или это известная ошибка?

Предполагается, что, возможно, zookeeper не запускается до попытки инициализации solr. Используя зависимости nssm, вы можете сделать службу solr зависимой от службы zookeeper. https://nssm.cc/usage

Я решил проблему, установив запуск служб в этом режиме

  • zookeeper: автоматический
  • solr: автоматический (отложенный старт)