Не удалось запустить услугу поиска эластичных изображений
Я пытаюсь запустить службу 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