【问题标题】:Elasticsearch after change path.data, unable to access 'default.path.data'更改 path.data 后的 Elasticsearch,无法访问“default.path.data”
【发布时间】:2017-11-01 11:51:16
【问题描述】:

我想将 path.data 更改为其他路径,并且我在 elasticsearch 中已经有一些数据。

我关注How to move elasticsearch data directory?并重启elasticsearch,出现错误。

我的 elasticsearch 版本是 elasticsearch-5.6.1。 这是我在 /var/log/elasticsearch 中的日志

java.lang.IllegalStateException: 无法访问'default.path.data' (/var/lib/elasticsearch) 在 org.elasticsearch.bootstrap.Security.addPath(Security.java:444) ~[elasticsearch-5.6.1.jar:5.6.1] 在 org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:322) ~[elasticsearch-5.6.1.jar:5.6.1] 在 org.elasticsearch.bootstrap.Security.createPermissions(Security.java:240) ~[elasticsearch-5.6.1.jar:5.6.1] 在 org.elasticsearch.bootstrap.Security.configure(Security.java:118) ~[elasticsearch-5.6.1.jar:5.6.1] 在 org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:228) ~[elasticsearch-5.6.1.jar:5.6.1] 在 org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) [elasticsearch-5.6.1.jar:5.6.1] 在 org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) [elasticsearch-5.6.1.jar:5.6.1] 在 org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) [elasticsearch-5.6.1.jar:5.6.1] 在 org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) [elasticsearch-5.6.1.jar:5.6.1] 在 org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) [elasticsearch-5.6.1.jar:5.6.1] 在 org.elasticsearch.cli.Command.main(Command.java:90) [elasticsearch-5.6.1.jar:5.6.1] 在 org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) [elasticsearch-5.6.1.jar:5.6.1] 在 org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) [elasticsearch-5.6.1.jar:5.6.1] 引起:java.nio.file.AccessDeniedException: /var/lib/elasticsearch 在 sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) ~[?:1.8.0_131] 在 sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[?:1.8.0_131] 在 sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[?:1.8.0_131] 在 sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384) ~[?:1.8.0_131] 在 java.nio.file.Files.createDirectory(Files.java:674) ~[?:1.8.0_131]

在深入研究之后,我找到了https://github.com/elastic/elasticsearch/issues/25265

我想知道有没有办法解决这个问题?或者我需要等待 6.0.0 版本?

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    挖掘之后,我找到了answer

    从启动命令中删除了“-Edefault.path.data=${DATA_DIR}”参数,一切正常。

    我的环境是 Ubuntu 16.04,从 RPM/DEB 安装 ES。

    /etc/init.d/elasticsearch中的启动命令路径,我也修改/usr/lib/systemd/system/elasticsearch.service,然后服务重启。问题解决了。

    顺便说一句,如果我也面临路径数据的权限问题。解决方法

    sudo chown -R elasticsearch:elasticsearch /your/data/path
    

    希望这些有用!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多