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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一杯咖啡半杯糖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值