【问题标题】:How to run Elasticsearch 5.2.1 as root user in linux machine如何在 linux 机器上以 root 用户身份运行 Elasticsearch 5.2.1
【发布时间】:2017-08-06 00:51:29
【问题描述】:

我正在尝试在我的 linux 机器上运行 Elasticsearch 5.2.1,我是它的 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,但没有运气。

提前致谢

【问题讨论】:

  • 这是一个的想法,所以他们正确地决定让它成为不可能。克服它并以普通用户的身份运行 ES。并不是因为你是 root,所以你必须以 root 身份运行所有东西,恰恰相反。

标签: linux elasticsearch elasticsearch-plugin


【解决方案1】:

实际上,自 Elasticsearch 5.0 以来,以 root 身份运行的可能性已被删除,如 issuehere 中所述。

如果你真的想以root身份运行(我猜你知道这不是最好的主意),我建议你从github查看源代码,并修改specific line,然后重建整个项目。

【讨论】:

    【解决方案2】:

    看到这个Pull request:Remove allow running as root - GitHub

    2016 年 6 月 2 日,您无法以 root 身份运行 elasticsearch,除非重新构建 elasticsearch。

    参考文件: elasticsearch/server/src/main/java/org/elasticsearch/bootstrap/Bootstrap.java

    【讨论】:

      【解决方案3】:

      我遇到了同样的错误,在我的情况下,我使用 package-manager (dpkg) 来安装 elasticsearch,我试图直接从 elasticsearch 的 bin 目录运行它,但它必须使用以下命令作为服务启动

      systemctl start elasticsearch.service
      

      【讨论】:

        猜你喜欢
        • 2016-04-27
        • 2017-04-07
        • 1970-01-01
        • 1970-01-01
        • 2018-07-02
        • 2020-12-19
        • 2018-06-18
        • 2018-01-05
        • 2022-01-07
        相关资源
        最近更新 更多