2016-11-23 170 views
6

当我尝试使用命令./elasticsearch启动弹性搜索5.0并获取低于错误时,我正在获取低于错误的错误。以root用户身份运行弹性搜索

[2016-11-23T13:44:09,507][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] 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:116) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:103) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.cli.Command.main(Command.java:62) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:73) ~[elasticsearch-5.0.1.jar:5.0.1] 
Caused by: java.lang.RuntimeException: can not run elasticsearch as root 
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:96) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:155) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286) ~[elasticsearch-5.0.1.jar:5.0.1] 
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:112) ~[elasticsearch-5.0.1.jar:5.0.1] 
    ... 6 more 

我试着从切换到其他用户开始,尝试sudo ./elasticsearch并得到相同的错误。 如何以root用户身份启动弹性搜索?

+0

第二行:'java.lang.RuntimeException:无法以root身份运行elasticsearch“。再后来:'由于:java.lang.RuntimeException:无法以root身份运行elasticsearch。 – Gavin

回答

1

您无法以root身份启动elasticsearch。这是不允许的,也是非常危险的。请参阅installation guide了解如何根据您的主机正确安装它。

+7

如果我想找到安装指南链接,我宁愿使用谷歌而不是stackoverflow。 –

1

我有同样的问题我不得不与其他用户联系。但首先,我必须授予他执行bin/elasticsearch的权利。

+1

请考虑张贴此评论,而不是扩大,以包括更多的细节。 –

1

此问题的根本原因是: ElasticSearch不允许从根拥有者运行。 此问题还有另一种可能性:“仅为root用户设置Java路径,而不是为所有其他用户设置”。 此问题的解决方案:

步骤1:通过命令将elasticSearch目录的所有权从根改为其他用户。 $须藤CHOWN -R CURRENT_USER:GROUP_NAME elasticsearch-5.5.0

SETP 2:检查中的Java类路径当前用户设定[不仅为根]。如果命令:$ java -version或echo $ JAVA_HOME命令给出空结果。这意味着我们应该在当前用户的classpath [system env varible]中设置Java,然后按照步骤3执行。否则将启动elasticsearch服务。

第3步:编辑/ etc/profile文件,并添加两行,按您的系统目录 出口JAVA_HOME = “Java的目录位置”

出口PATH = $ JAVA_HOME /斌:$ PATH 运行 $源源/ etc/profile

之后运行elasticSearch服务。它完美地为我工作。

相关问题