Не удалось запустить услугу поиска эластичных изображений

Я пытаюсь запустить службу Elastic Search на сервере Windows 2008 R2, но он не запускается. Раньше он работал в течение нескольких месяцев без проблем.

В службах я получаю сообщение:

"Windows не смогла запустить Elasticsearch 1.7.2 (ELASTIC_POC) на локальном компьютере. Для получения дополнительной информации просмотрите журнал системных событий. Если это служба non_Microsoft, обратитесь к поставщику услуг и обратитесь к сервису код ошибки 1."

Журнал событий был очень бесполезным, показав следующую ошибку:

"Служба Elasticsearch 1.7.2 (ELASTIC_POC) вошла в состояние остановки.

"Служба Elasticsearch 1.7.2 (ELASTIC_POC) завершена с ошибкой, зависящей от конкретной службы Некорректная функция.."

Однако я получаю больше информации в файлах журналов Elastic Search:

[2016-03-30 10:47:22] [info]  [ 3988] Running 'ELASTIC_POC' Service...
[2016-03-30 10:47:22] [info]  [ 3760] Starting service...
[2016-03-30 10:47:22] [error] [ 3760] Failed creating java C:\Progra~2\Java\jre1.8.0_60\bin\client\jvm.dll
[2016-03-30 10:47:22] [error] [ 3760] The system cannot find the path specified.
[2016-03-30 10:47:22] [error] [ 3760] ServiceStart returned 1
[2016-03-30 10:47:22] [error] [ 3760] The system cannot find the path specified.
[2016-03-30 10:47:22] [info]  [ 3988] Run service finished.
[2016-03-30 10:47:22] [info]  [ 3988] Commons Daemon procrun finished

Проверка C:\Program Files (x86)\Java\jre1.8.0_60, она содержит только папку с именем lib (которая пуста). Существует папка "jre1.8.0_73" с несколькими файлами "включая\bin\client\jvm.dll"

Как я могу заставить Elastic Search использовать более позднюю версию Java или вернуть содержимое папки jre1.8.0_60? Кажется, я не могу найти (безопасный для скачивания) установщик для этого.

Любая помощь очень ценится.

Ответ 1

Существует очень высокая вероятность того, что ваша среда выполнения Java была автоматически обновлена.

Это сломает Elastic Search, потому что у вас есть переменная среды JAVA_HOME, которая теперь указана в неправильном месте.

Сначала перейдите в программные файлы /java и найдите новую папку JRE. Вероятно, это более поздний номер версии. Пример: вместо jre1.8.0_73, возможно, jre1.8.090 или какое-то большее число, прикрепленное к концу.

Соответственно обновите переменную среды JAVA_HOME.

Затем, выполнив соответствующие резервные копии ваших файлов поиска, в командной строке с поддержкой администратора, перейдите к папке с гибким поиском.

введите следующие команды

 service remove
 service install

Затем вы, вероятно, захотите перейти в services.msc и переключить сервис с "ручного запуска" на "автоматический" или "автоматический отложенный"

Можно подумать, что переустановка службы после обновления переменной среды JAVA_HOME была бы ненужной, но это было необходимо для моей установки.

Ответ 2

Решено, снова установите службу..

Откройте

{путь к эластичной поиске}\Bin\

в командной строке,

и запустите

сервисная установка

Это не позволило мне запустить

удалить сервис, так что теперь, как показано два списка услуг поиска, это тестовый сервер, так что отлично.

Ответ 3

Для меня это было вызвано проблемой в моем реестре после обновления Java. Казалось, что старые версии установщика службы жестко закодировали путь java в разделах реестра, в то время как они должны зависеть от переменной среды JAVA_HOME.

Найдите следующий ключ в своем реестре: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\elasticsearch-service-x64\Parameters\Java\Jvm. Если это похоже на жестко заданный путь к jvm.dll, измените значение на %JAVA_HOME%\bin\server\jvm.dll и попробуйте запустить службу.

Ответ 4

Просто выполните следующие шаги, шаг за шагом, и тогда ваша эластичная поисковая установка будет работать: расширенные настройки системы >> Переменные среды >> Системные переменные >> путь >> Новый, а затем вставьте свой последний путь java jdk. как это: C:\Program Files\Java\jdk-11.0.3\bin