【发布时间】: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