2016-09-01 3 views
3

У меня есть версия поиска elists 2.3.3, установленная на vm с версией ubuntu 14.04. Я попытался перезапустить службу elasticsearch, но после перезагрузки я проверил статус с sudo service elasticsearch status, и он вернул * elasticsearch is not running. Когда я пытаюсь запустить его с помощью sudo service elasticsearch start, он возвращает * Starting Elasticsearch Server, но при проверке состояния он не работает.Не удалось перезагрузить elasticsearch

Я попытался запустить ее вручную путем ввода /usr/share/elasticsearch/bin/elasticsearch (что путь бинарного файла), но в начале я получаю следующее сообщение об ошибке:

Exception in thread "main" ElasticsearchException[Failed to load logging configuration]; nested: NoSuchFileException[/usr/share/elasticsearch/config]; 
Likely root cause: java.nio.file.NoSuchFileException: /usr/share/elasticsearch/config 
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86) 
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) 
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) 
    at sun.nio.fs.UnixFileAttributeViews$Basic.readAttributes(UnixFileAttributeViews.java:55) 
    at sun.nio.fs.UnixFileSystemProvider.readAttributes(UnixFileSystemProvider.java:144) 
    at sun.nio.fs.LinuxFileSystemProvider.readAttributes(LinuxFileSystemProvider.java:97) 
    at java.nio.file.Files.readAttributes(Files.java:1686) 
    at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:109) 
    at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:69) 
    at java.nio.file.Files.walkFileTree(Files.java:2602) 
    at org.elasticsearch.common.logging.log4j.LogConfigurator.resolveConfig(LogConfigurator.java:142) 
    at org.elasticsearch.common.logging.log4j.LogConfigurator.configure(LogConfigurator.java:103) 
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:243) 
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) 
Refer to the log for complete error details. 

ошибка говорит, что не в состоянии найти конфигурацию протоколирования, чтобы я последовал совет в https://github.com/elastic/ansible-elasticsearch/issues/58 пути создания символической ссылки: sudo ln -s /etc/elasticsearch/ /usr/share/elasticsearch/config

Затем я получаю следующее сообщение об ошибке при выполнении упругого поиска через /usr/share/elasticsearch/bin/elasticsearch:

Exception in thread "main" ElasticsearchException[Failed to load logging configuration]; nested: AccessDeniedException[/usr/share/elasticsearch/config]; 
Likely root cause: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/config 
    at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) 
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) 
    at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) 
    at sun.nio.fs.UnixFileSystemProvider.newDirectoryStream(UnixFileSystemProvider.java:426) 
    at java.nio.file.Files.newDirectoryStream(Files.java:413) 
    at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:179) 
    at java.nio.file.FileTreeWalker.walk(FileTreeWalker.java:69) 
    at java.nio.file.Files.walkFileTree(Files.java:2602) 
    at org.elasticsearch.common.logging.log4j.LogConfigurator.resolveConfig(LogConfigurator.java:142) 
    at org.elasticsearch.common.logging.log4j.LogConfigurator.configure(LogConfigurator.java:103) 
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:243) 
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) 
Refer to the log for complete error details. 

При попытке как корень (sudo /usr/share/elasticsearch/bin/elasticsearch) Я получаю следующее сообщение об ошибке:

Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root. 
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93) 
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144) 
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270) 
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35) 
Refer to the log for complete error details. 

Это не первый раз, когда я сталкиваюсь с этим вопросом. Я столкнулся с той же проблемой (с первым исключением - конфигурацией протоколирования не найдена) на другой виртуальной машине и попытался ее решить, создав путь /usr/share/elasticsearch/config и скопировав файлы конфигурации (elasticsearch.yml и logging.yml). Впоследствии я снова столкнулся со второй проблемой (работа в качестве обычного пользователя - доступ запрещен и работает с правами root).

У кого-нибудь есть идея об этой проблеме? Любая помощь будет рассмотрена!

+0

Спасибо, но это та же ссылка я refered в описании проблемы – mshabeeb

+0

выглядит как пользователь, который работает elasticsearch не имеет доступа к файлам в '/ и т.д./elasticsearch'. Elasticsearch обычно работает как пользователь 'elasticsearch'. Поэтому, возможно, попробуйте 'chown -R elasticsearch./etc/elasticsearch/* ' – Ceilingfish

+0

, пожалуйста, приложите команду вывода id и выполните« cat/usr/share/elasticsearch/config »работу без ошибок? –

ответ

1

Вы пытались сделать следующее:

1) Создать каталоги

$ mkdir -p /usr/share/elasticsearch/config/scripts 

2) Копирование через лог-файлы и конфигурации

$ cp /etc/elasticsearch/elasticsearch.yml /user/share/elasticshare/config 
$ cp /etc/elasticsearch/logging.yml /user/share/elasticshare/config 

3) разрешение на изменение или изменение владельца на эти файлы.

$ sudo chmod g+rwx /usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch/config/logging.yml 
$ sudo chmod o+rwx /usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch/config/logging.yml 
+0

Я уже пробовал что-то подобное через сим-ссылки (что, я полагаю, имеет аналогичный эффект). Теперь я получаю новые ошибки следующим образом: 'java.io.FileNotFoundException: /usr/share/elasticsearch/logs/elasticsearch.log (Permission denied)' 'java.io.FileNotFoundException:/usr/share/elasticsearch/logs/elasticsearch_deprecation.log (Permission denied) ' ' java.io.FileNotFoundException: /usr/share/elasticsearch/logs/elasticsearch_index_indexing_slowlog.log (Permission denied) ' и еще две аналогичные ошибки. К сожалению, я не могу загрузить полный журнал комментариев. Должен ли я изменить право собственности? – mshabeeb

+0

Ниже перечислены оставшиеся 2 журнала: 'java.io.FileNotFoundException: /usr/share/elasticsearch/logs/elasticsearch_index_search_slowlog.log (Permission denied)' 'Исключение в потоке" main "java.lang.IllegalStateException: невозможно получить доступ 'path.data' (/ usr/share/elasticsearch/data) ' Это только первая строка каждой ошибки – mshabeeb

+0

Теперь, после смены владельца, я получаю только последнюю ошибку: ' log4j: ERROR Не удалось переименовать [ /usr/share/elasticsearch/logs/elasticsearch.log] на [/usr/share/elasticsearch/logs/elasticsearch.log.2016-09-01]. Исключение из потока «main» java.lang.IllegalStateException: невозможно получить доступ к «path.data» (/ usr/share/elasticsearch/data) Вероятная причина: java.nio.file.AccessDeniedException:/usr/share/elasticsearch/data' Должен ли я создать папку/usr/share/elasticsearch/data и переместить содержимое/var/lib/elasticsearch/в нее? – mshabeeb

Смежные вопросы