Как запустить Elasticsearch 5.2.1 от имени пользователя root на компьютере с Linux

Я пытаюсь запустить Elasticsearch 5.2.1 на своей Linux-машине, на которой я являюсь пользователем root.

Когда я попытался выполнить Elasticsearch. Я получаю следующую ошибку,

[2017-03-15T03:26:18,976][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [elk_data1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-5.2.1.jar:5.2.1]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-5.2.1.jar:5.2.1]
        at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.2.1.jar:5.2.1]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.2.1.jar:5.2.1]
        at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.2.1.jar:5.2.1]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:89) ~[elasticsearch-5.2.1.jar:5.2.1]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:82) ~[elasticsearch-5.2.1.jar:5.2.1]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
        at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105) ~[elasticsearch-5.2.1.jar:5.2.1]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:203) ~[elasticsearch-5.2.1.jar:5.2.1]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-5.2.1.jar:5.2.1]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-5.2.1.jar:5.2.1]
        ... 6 more

Я тоже пробовал таким образом bin/elasticsearch -Des.insecure.allow.root=true, но не повезло.

заранее спасибо


person Mangoski    schedule 15.03.2017    source источник
comment
Это плохая идея, поэтому они справедливо решили сделать ее невозможной. Преодолейте это и запустите ES как обычный пользователь. Дело не в том, что из-за того, что вы root, вы должны запускать все как root, как раз наоборот.   -  person fvu    schedule 15.03.2017


Ответы (3)


На самом деле возможность запуска от имени пользователя root была удалена, начиная с Elasticsearch 5.0, как упоминалось в этой проблеме и здесь< /а>.

Если вы действительно хотите работать с правами root (думаю, вы знаете, что это не лучшая идея), я бы посоветовал проверить исходный код на github и изменить его конкретная строка, а затем перестройте весь проект.

person Adonis    schedule 15.03.2017

См. этот запрос на вытягивание: Удалить разрешение на запуск от имени пользователя root — GitHub

Со 2 июня 2016 года вы не могли запускать elasticsearch с правами root, если только не перестраивали elasticsearch.

Справочные файлы: elasticsearch/server/src/main/java/org/elasticsearch/bootstrap/Bootstrap.java

person akira233    schedule 02.05.2018

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

systemctl start elasticsearch.service
person Danish ALI    schedule 04.07.2021