Elasticsearch не запускается: access denied “/etc/elasticsearch/${instance}/scripts” |

Elasticsearch не запускается: access denied “/etc/elasticsearch/${instance}/scripts”

Мануал

В Elisalearch появилась не столь очевидная проблема.

После обновления с 6.2.x до 6.4.x elasticsearch не смог запуститься со следующей ошибки в своих журналах.

$ tail -f instance.log
...
Caused by: java.security.AccessControlException:
  access denied ("java.io.FilePermission" "/etc/elasticsearch/production/scripts" "read")
   at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
   at java.security.AccessController.checkPermission(AccessController.java:884)
   at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
...

Логи указали, что он не может прочитать /etc/elasticsearch/production/scripts, но все права были в порядке.

По-видимому, Elasticsearch не следит за символическими ссылками для каталога скриптов, даже если у него есть все необходимые разрешения на чтение.

В этом случае этот каталог скриптов действительно был символической ссылкой на общий ресурс.

$ ls -alh /etc/elasticsearch/production/scripts 
/etc/elasticsearch/production/scripts -> /usr/share/elasticsearch/scripts

Исправление было простым, поскольку общий каталог не содержал никаких скриптов.

$ rm -f /etc/elasticsearch/production/scripts
$ mkdir /etc/elasticsearch/production/scripts
$ chown elasticsearch:elasticsearch /etc/elasticsearch/production/scripts

Поверните эту символическую ссылку в обычный каталог и перезапустите свой экземпляр.

Если вы запускаете несколько экземпляров, вам придется повторить эти шаги для каждого экземпляра, который не запускается.

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий