我正在尝试在我的Linux机器上运行Elasticsearch 2.1.1,我是它的root用户。
当我尝试执行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:285)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Refer to the log for complete error details.
我提到了互联网上的一些建议,他们提到将其作为不同的用户运行。我的方案是仅以root用户身份运行。如何在不以不同用户身份运行的情况下克服此问题。
答案 0 :(得分:46)
基于以下code-snippet看起来您应该能够通过启用属性来实现此目的 的 es.insecure.allow.root 强>
示例:
bin/elasticsearch -Des.insecure.allow.root=true
答案 1 :(得分:10)
打开脚本文件:
vi bin / elasticsearch
为允许root添加属性:
ES_JAVA_OPTS =" -Des.insecure.allow.root =真"
答案 2 :(得分:3)
您还可以创建别名
alias elasticsearch ='elasticsearch -Des.insecure.allow.root = true'
在 bashrc 文件中添加以上行,之后 elasticsearch 命令将起作用。
答案 3 :(得分:1)
您应该更改elasticsearch-X.X.X的所有者和组,并以该用户身份运行。它适用于elasticsearch-5.3.0
答案 4 :(得分:0)
有两种解决方法可以解决此问题:
解决方案1: 下载zip文件n解压缩然后按照以下命令开始
bin/elasticsearch -Des.insecure.allow.root=true -d
解决方案2:
vi bin/elasticsearch
添加属性以允许root运行两个实例:
ES_JAVA_OPTS="-Des.insecure.allow.root=true"
保存并关闭。 您现在可以从root开始。
答案 5 :(得分:0)
我们需要在Linux服务器中创建一个新用户,说user = es
并授予sudo chown -R es elasticsearch-6.1.0/
那么您可以切换“ es”用户帐户并运行./elasticsearch-6.1.0/bin/elasticsearch