如何 运行 Elasticsearch 2.1.1 作为 root 用户在 Linux 机器上

How to run Elasticsearch 2.1.1 as root user in Linux machine

我正在尝试在我的 Linux 机器上 运行 Elasticsearch 2.1.1,我是它的根用户。

当我尝试执行 Elasticsearch.I 时出现以下错误:

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 用户。如何在没有 运行ning 作为不同用户的情况下解决这个问题。

基于以下 code-snippet 看起来您应该可以通过启用 属性 来实现此目的 es.insecure.allow.root

示例:

bin/elasticsearch -Des.insecure.allow.root=true

您还可以创建别名

别名 elasticsearch='elasticsearch -Des.insecure.allow.root=true'

bashrc 文件中添加以上行,之后 elasticsearch 命令将起作用。

  1. 打开脚本文件:

    vi bin/elasticsearch

  2. 添加属性允许root:

    ES_JAVA_OPTS="-Des.insecure.allow.root=true"

  3. 保存并关闭。
  4. 您现在可以使用 root 启动。

祝你好运。

您应该将 elasticsearch-X.X.X 和 运行 的所有者和组更改为该用户。它适用于 elasticsearch-5.3.0

有两种解决方法可以解决此问题:

解决方案一: 下载 zip 文件 n 解压然后按照以下命令开始

bin/elasticsearch -Des.insecure.allow.root=true -d

方案二:

vi bin/elasticsearch

添加属性以允许root 运行两个实例:

ES_JAVA_OPTS="-Des.insecure.allow.root=true"

保存并关闭。 您现在可以使用 root 启动。

我们需要在 Linux 服务器中创建一个新用户 say user = es 并授予 sudo chown -R es elasticsearch-6.1.0/ 然后你可以切换 'es' 用户帐户和 运行 ./elasticsearch-6.1.0/bin/elasticsearch