【问题标题】:AccessControlException on starting elastic search 5.0.1 with Java 11使用 Java 11 启动弹性搜索 5.0.1 时出现 AccessControlException
【发布时间】:2019-05-29 03:57:30
【问题描述】:

使用 Java 11 将索引从弹性搜索 5.0.1 存储到 NFS 分区时出现异常。

来自弹性搜索日志的 Stacktrace:

java.security.AccessControlException: access denied ("java.io.FilePermission" "/globalSearchElkData/nodes/0" "write")
        at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) ~[?:?]
        at java.base/java.security.AccessController.checkPermission(AccessController.java:895) ~[?:?]
        at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:322) ~[?:?]
        at java.base/java.lang.SecurityManager.checkWrite(SecurityManager.java:752) ~[?:?]
        at java.base/sun.nio.fs.UnixPath.checkWrite(UnixPath.java:824) ~[?:?]
        at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:377) ~[?:?]
        at java.base/java.nio.file.Files.createDirectory(Files.java:689) ~[?:?]
        at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:796) ~[?:?]
        at java.base/java.nio.file.Files.createDirectories(Files.java:742) ~[?:?]
        at org.apache.lucene.store.NativeFSLockFactory.obtainFSLock(NativeFSLockFactory.java:92) ~[lucene-core-6.2.1.jar:6.2.1 43ab70147eb494324a1410f7a9f16a896a59bc6f - shalin - 2016-09-15 05:15:20]
        at org.apache.lucene.store.FSLockFactory.obtainLock(FSLockFactory.java:41) ~[lucene-core-6.2.1.jar:6.2.1 43ab70147eb494324a1410f7a9f16a896a59bc6f - shalin - 2016-09-15 05:15:20]
        at org.apache.lucene.store.BaseDirectory.obtainLock(BaseDirectory.java:45) ~[lucene-core-6.2.1.jar:6.2.1 43ab70147eb494324a1410f7a9f16a896a59bc6f - shalin - 2016-09-15 05:15:20]
        at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:225) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.node.Node.<init>(Node.java:240) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.node.Node.<init>(Node.java:220) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:191) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:191) ~[elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286) [elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:112) [elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:103) [elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) [elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) [elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.cli.Command.main(Command.java:62) [elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) [elasticsearch-5.0.1.jar:5.0.1]
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:73) [elasticsearch-5.0.1.jar:5.0.1]
[2018-12-28T10:50:38,107][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]

注意:相同的设置适用于 Java8

【问题讨论】:

  • access denied ("java.io.FilePermission" "/globalSearchElkData/nodes/0".. 你确保正确的文件权限了吗?这在以前的任何设备上都没有发生吗? JDK 版本(如果您尝试过)?...问也是因为问题标题如此。
  • 是的,该进程具有正确的写入权限。同样的设置也适用于 Java8。

标签: java elasticsearch elastic-stack elasticsearch-5 java-11


【解决方案1】:

回答Java版本的问题:

this thread 中的讨论是说版本 6.x 将支持 Java 11。

Here 是当前支持的 Java 版本的概述。版本 6.5.x 支持 Java 11。

但是这个异常更可能是因为 elasic 进程在异常信息中没有对文件系统文件夹的写权限:

access denied ("java.io.FilePermission" "/globalSearchElkData/nodes/0" "write")

请检查文件夹/globalSearchElkData/nodes/0

的权限

【讨论】:

  • 文件夹/globalSearchElkData/nodes/0的权限设置正确。请注意,只有在使用网络文件系统时才会出现这种情况。
  • java.security.AccessControlException 是用于报告 Java 安全管理器拒绝操作的特定异常类型。 SecurityManager 类在堆栈跟踪中甚至清晰可见。这与文件系统权限或任何其他操作系统工件无关。
猜你喜欢
  • 1970-01-01
  • 2012-04-07
  • 1970-01-01
  • 2018-02-13
  • 1970-01-01
  • 2023-02-06
  • 1970-01-01
  • 2015-04-19
  • 1970-01-01
相关资源
最近更新 更多