ES:java.nio.file.AccessDeniedException: /opt/shan/es/config/elasticsearch.keystore
在部署單機版es 的時候出現了這個問題,es為7.17.5版本,部署路徑為/opt/shan/es
問題如下:
?java.nio.file.AccessDeniedException: /opt/shan/es/config/elasticsearch.keystore
Exception in thread "main" java.nio.file.AccessDeniedException: /opt/shan/es/config/elasticsearch.keystore
? ? ? ? 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.newFileChannel(UnixFileSystemProvider.java:177)
? ? ? ? at java.nio.channels.FileChannel.open(FileChannel.java:287)
? ? ? ? at java.nio.channels.FileChannel.open(FileChannel.java:335)
? ? ? ? at org.apache.lucene.store.NIOFSDirectory.openInput(NIOFSDirectory.java:83)
? ? ? ? at org.elasticsearch.common.settings.KeyStoreWrapper.load(KeyStoreWrapper.java:211)
? ? ? ? at org.elasticsearch.common.settings.HasPasswordKeyStoreCommand.execute(HasPasswordKeyStoreCommand.java:33)
? ? ? ? at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:77)
? ? ? ? at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112)
? ? ? ? at org.elasticsearch.cli.MultiCommand.execute(MultiCommand.java:95)
? ? ? ? at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112)
? ? ? ? at org.elasticsearch.cli.Command.main(Command.java:77)
? ? ? ? at org.elasticsearch.common.settings.KeyStoreCli.main(KeyStoreCli.java:33)
Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file logs/gc.log due to Permission deniedException in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException: /opt/shan/es/config/elasticsearch.keystore
Likely root cause: java.nio.file.AccessDeniedException: /opt/shan/es/config/elasticsearch.keystore
? ? ? ? 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.newFileChannel(UnixFileSystemProvider.java:177)
? ? ? ? at java.nio.channels.FileChannel.open(FileChannel.java:287)
? ? ? ? at java.nio.channels.FileChannel.open(FileChannel.java:335)
? ? ? ? at org.apache.lucene.store.NIOFSDirectory.openInput(NIOFSDirectory.java:83)
? ? ? ? at org.elasticsearch.common.settings.KeyStoreWrapper.load(KeyStoreWrapper.java:211)
? ? ? ? at org.elasticsearch.bootstrap.Bootstrap.loadSecureSettings(Bootstrap.java:253)
? ? ? ? at org.elasticsearch.bootstrap.Bootstrap.loadSecureSettings(Bootstrap.java:247)
? ? ? ? at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:364)
? ? ? ? at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:169)
? ? ? ? at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:160)
? ? ? ? at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:77)
? ? ? ? at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:112)
? ? ? ? at org.elasticsearch.cli.Command.main(Command.java:77)
? ? ? ? at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:125)
? ? ? ? at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80)
?
?問題出現原因,啟動es的時候會生成elasticsearch.keystore文件,但是es應該用用戶定義的非root用戶啟動,否則就會出現錯誤,我自定以的用戶是es,但是我啟動es用的是root,所以導致了這個問題
解決辦法
1、以root用戶看/opt/shan/es/conf文件夾如下(可以看到elasticsearch.keystore權限是root,我們需要把這個權限改為es,這個es是我專門為es創建的用戶)
2、執行命令
chown es:es??elasticsearch.keystore
3、?切換到es用戶(專門給es啟動的用戶)
su es
4、重新啟動es即可解決(需要以es用戶啟動)
sh /opt/shan/es/bin/elasticsearch
總結
以上是生活随笔為你收集整理的ES:java.nio.file.AccessDeniedException: /opt/shan/es/config/elasticsearch.keystore的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 世界银行提供10亿美元贷款助印度发展太阳
- 下一篇: elasticsearch7.5.0 集