解决 Elasticsearch 启动异常 AccessDeniedException

解决 Elasticsearch 启动异常 AccessDeniedException

异常信息:

[xzlawin@hadoop10 elasticsearch-7.8.0]$ bin/elasticsearch
future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/opt/jdk1.8.0_192/jre] does not meet this requirement
future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/opt/jdk1.8.0_192/jre] does not meet this requirement
Exception in thread "main" java.nio.file.AccessDeniedException: /usr/local/opt/elasticsearch-7.8.0/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.newByteChannel(UnixFileSystemProvider.java:214)
	at java.nio.file.Files.newByteChannel(Files.java:361)
	at java.nio.file.Files.newByteChannel(Files.java:407)
	at org.apache.lucene.store.SimpleFSDirectory.openInput(SimpleFSDirectory.java:77)
	at org.elasticsearch.common.settings.KeyStoreWrapper.load(KeyStoreWrapper.java:220)
	at org.elasticsearch.common.settings.HasPasswordKeyStoreCommand.execute(HasPasswordKeyStoreCommand.java:42)
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127)
	at org.elasticsearch.cli.MultiCommand.execute(MultiCommand.java:91)
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127)
	at org.elasticsearch.cli.Command.main(Command.java:90)
	at org.elasticsearch.common.settings.KeyStoreCli.main(KeyStoreCli.java:43)
Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file logs/gc.log due to Permission denied

Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException: /usr/local/opt/elasticsearch-7.8.0/config/elasticsearch.keystore
Likely root cause: java.nio.file.AccessDeniedException: /usr/local/opt/elasticsearch-7.8.0/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.newByteChannel(UnixFileSystemProvider.java:214)
	at java.nio.file.Files.newByteChannel(Files.java:361)
	at java.nio.file.Files.newByteChannel(Files.java:407)
	at org.apache.lucene.store.SimpleFSDirectory.openInput(SimpleFSDirectory.java:77)
	at org.elasticsearch.common.settings.KeyStoreWrapper.load(KeyStoreWrapper.java:220)
	at org.elasticsearch.bootstrap.Bootstrap.loadSecureSettings(Bootstrap.java:240)
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349)
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:170)
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:161)
	at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:127)
	at org.elasticsearch.cli.Command.main(Command.java:90)
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:126)
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92)

分析原因:elasticsearch目录文件写入失败

解决方法:修改elasticsearch目录权限

cd /usr/local/opt
chown -R xzlawin:devgroup elasticsearch-7.8.0

cd /usr/local/opt/elasticsearch-7.8.0
chmod 755 -R elasticsearch-7.8.0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个错误通常是由于 Elasticsearch 没有足够的权限来访问指定的存储库引起的。您需要确保 Elasticsearch 的用户具有适当的权限,以便能够执行快照和还原操作。 以下是一些可能的解决方法: 1. 检查您的存储库设置是否正确。您可以使用 curl 命令检查您的设置是否正确: ``` curl -XGET 'http://localhost:9200/_snapshot/your_repository_name' ``` 如果设置正确,您应该能够看到关于存储库的一些信息,如下所示: ``` { "your_repository_name" : { "type" : "fs", "settings" : { "location" : "/path/to/your/repository" } } } ``` 2. 确保 Elasticsearch 用户对存储库目录有足够的权限。您可以使用 chmod 命令更改权限: ``` sudo chmod -R 777 /path/to/your/repository ``` 3. 检查您的 Elasticsearch 用户是否有适当的权限。您可以在 Elasticsearch 的配置文件中指定用户和组: ``` sudo nano /etc/elasticsearch/elasticsearch.yml # 添加以下行: # Elasticsearch User and Group # --------------------------------- # Set the user and group that runs Elasticsearch # --------------------------------- # # NOTE: Make sure that the user is able to write to # the Elasticsearch data and log directories # # elasticsearch.username: <your_user> # elasticsearch.groupname: <your_group> ``` 4. 如果您是在 Amazon S3 上存储快照,请确保您的 IAM 用户具有适当的权限。您可以在 AWS 控制台上配置 IAM 用户的权限。 希望这些解决方法能够帮助您解决问题。如果问题仍然存在,请提供更多详细信息以便我们更好地理解您的情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值