【问题标题】:Elasticsearch crashes when updated data path更新数据路径时 Elasticsearch 崩溃
【发布时间】:2021-09-29 08:42:56
【问题描述】:

Elasticsearch 设置适用于默认配置。 但是当从 elasticsearch.yml 文件更新其 path.data 设置时,它会因以下错误而崩溃

[2015-11-19 12:39:56,194][ERROR][bootstrap                ] Exception
java.lang.IllegalStateException: Unable to access 'path.data' (/home/hadoop/bigdata/data/elasticsearch)
        at org.elasticsearch.bootstrap.Security.addPath(Security.java:197)
        at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:170)
        at org.elasticsearch.bootstrap.Security.configure(Security.java:100)
        at org.elasticsearch.bootstrap.Bootstrap.setupSecurity(Bootstrap.java:181)
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:159)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)
Caused by: java.nio.file.AccessDeniedException: /home/hadoop/bigdata/data
        at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
        at sun.nio.fs.UnixFileSystemProvider.checkAccess(UnixFileSystemProvider.java:308)
        at java.nio.file.Files.createDirectories(Files.java:702)
        at org.elasticsearch.bootstrap.Security.ensureDirectoryExists(Security.java:218)
        at org.elasticsearch.bootstrap.Security.addPath(Security.java:195)
        ... 6 more

我已从 /var/lib 位置以保留模式复制了 elasticsearch 目录。但没有成功。 谁能帮我摆脱这个错误

谢谢, 桑杰·博萨勒

【问题讨论】:

  • 您确定启动elasticsearch 进程的用户有权访问/home/hadoop/bigdata/data/elasticsearch 文件夹吗?
  • 是的,因为我已经复制了具有所有权限和用户设置的同一目录。
  • 我们仍然可以看到对文件夹/home/hadoop/bigdata/data 的访问被拒绝。您使用的是 ES 2.0 还是旧版本?
  • 在 centos 6 64 位上使用 ES 2.0。
  • 在没有安全管理器的情况下启动 ES 是否有效:bin/elasticsearch -Dsecurity.manager.enabled=false

标签: elasticsearch


【解决方案1】:

由于未设置用户“elasticsearch”访问文件夹的权限而出现此错误。

尝试使用以下命令使“elasticsearch”用户(elasticsearch 的默认用户)成为文件夹的所有者 -

sudo chown elasticsearch: /home/hadoop/bigdata/data/elasticsearch

【讨论】:

    【解决方案2】:

    除了确保用户elasticsearch是数据文件夹的所有者和组外,用户还应该有权限(+x)遍历配置数据的路径的每一级路径(在你的情况下,/home/hadoop/bigdata/data/elasticsearch)。

    也就是说,如果 Elasticsearch path.data 的父目录不属于用户 elasticsearch(如您的情况,父文件夹属于用户 hadoop) ,那么你应该检查父目录的每一级,确保它设置了o+x权限(和chmod),以保证用户elasticsearch的权限(,其他)。

    我从其他人的问题中学到了这个解决方案:Elasticsearch cannot open log file: Permission denied

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-27
      • 1970-01-01
      • 1970-01-01
      • 2017-09-10
      • 2013-02-14
      相关资源
      最近更新 更多