首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Elasticsearch path.repo防止服务启动

Elasticsearch path.repo防止服务启动
EN

Stack Overflow用户
提问于 2017-02-05 15:02:54
回答 1查看 3.1K关注 0票数 1

我想把我的快照保存在这里:

代码语言:javascript
运行
复制
/root/backups/elastic

因此,我在/etc/elasticsearch/弹性搜索/‘ve的末尾添加了这一行:

代码语言:javascript
运行
复制
path.repo: ["/root/backups/elastic"]

当我尝试启动elasticsearch服务时,有一个错误说该服务无法存储。在对该行进行注释之后,我可以再次启动服务。

在日志文件中,错误指出:

代码语言:javascript
运行
复制
java.lang.IllegalStateException: Unable to access 'path.repo' (/root/backups/elastic)
        at org.elasticsearch.bootstrap.Security.addPath(Security.java:316)
        at org.elasticsearch.bootstrap.Security.addFilePermissions(Security.java:262)
        at org.elasticsearch.bootstrap.Security.createPermissions(Security.java:212)
        at org.elasticsearch.bootstrap.Security.configure(Security.java:118)
        at org.elasticsearch.bootstrap.Bootstrap.setupSecurity(Bootstrap.java:212)
        at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:183)
        at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286)
        at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:45)
Caused by: java.nio.file.AccessDeniedException: /root/backups
        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.checkAccess(UnixFileSystemProvider.java:308)
        at java.nio.file.Files.createDirectories(Files.java:702)
        at org.elasticsearch.bootstrap.Security.ensureDirectoryExists(Security.java:337)
        at org.elasticsearch.bootstrap.Security.addPath(Security.java:314)

我使用这些命令来解决这个问题:

代码语言:javascript
运行
复制
sudo chmod 777 /root/backups/
sudo chown elasticsearch /root/backups/
sudo chown elasticsearch /root/backups/elastic/

怎么了?

EN

Stack Overflow用户

回答已采纳

发布于 2017-02-05 19:33:19

首先,对于备份来说,使用根目录是一个非常糟糕的主意,如果有了所有的权限,这将是一个安全噩梦。AccessDeniedException很可能无法访问elasticsearch的root目录。

代码语言:javascript
运行
复制
$ ls -l /root
ls: cannot open directory '/root': Permission denied
$ ls -l /
drwx------  10 root root       4096 Jan 25 22:41 root

如果您真的想测试chmod o+rx /root,那么异常应该会消失。我强烈建议使用共享SAN/NAS挂载点或AWS S3文件存储进行备份。

第二,我假设您使用共享文件系统方法。

您可能需要添加一些信息来推断问题。您的集群中有多少节点?您正在运行的elasticsearch版本是什么?

设置path.repo必须在elasticsearch.yml of 集群中的所有节点中。即使节点启动,备份也可能失败,从而导致恢复。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42053540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档