首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Elasticsearch创建快照存储库抛出RepositoryVerificationException

Elasticsearch创建快照存储库抛出RepositoryVerificationException
EN

Stack Overflow用户
提问于 2020-07-24 23:19:24
回答 1查看 269关注 0票数 1

我正在尝试拍摄一个elasticsearch cluster.The设计的快照,如下所示。Docker容器中有3个虚拟机,分别运行1个主节点、1个数据节点和1个客户端节点。每个VM都连接了一个用于存储的卷。因此,一个包含3个主服务器、3个客户端、3个数据节点和3个卷的集群。

在阅读文档后,我创建了一个单独的备份卷,并将其附加到其中一个虚拟机上。之后,我在所有3个虚拟机之间创建了一个NFS,将数据保存在备份卷上,然后我修改了群集,并将共享NFS目录作为卷装载到群集中的所有节点

因此,现在每个虚拟机都有以下内容:

VM1:

代码语言:javascript
复制
drwxr-xr-x  16 root   root     3560 Jul 24 10:30 dev
drwxr-xr-x   2 nobody nogroup  4096 Jul 24 11:49 elastic-backup
drwxr-xr-x  97 root   root     4096 Jul 24 14:04 etc
drwxr-xr-x   5 root   root     4096 Apr 27 12:53 home

VM2:

代码语言:javascript
复制
drwxr-xr-x   2 root   root     4096 Jul 24 13:52 bin
drwxr-xr-x   3 root   root     4096 Jul 24 12:09 boot
drwxr-xr-x   5 root   root     4096 Jan 27 16:41 data
drwxr-xr-x  16 root   root     3580 Jul 24 11:48 dev
drwxr-xr-x   2 nobody nogroup  4096 Jul 24 11:49 elastic-backup

VM3:

代码语言:javascript
复制
drwxr-xr-x   3 root   root     4096 Jul 24 15:28 boot
drwxr-xr-x   5 root   root     4096 Jan 27 16:41 data
drwxr-xr-x  16 root   root     3560 Jul 24 10:30 dev
drwxr-xr-x   2 nobody nogroup  4096 Jul 24 15:34 elastic-backup

当我在其中创建一个文件时,我可以看到它、修改它或其他任何东西,并且操作从每个VM都是可见的。

Elasticsearch docker节点:

代码语言:javascript
复制
drwxr-xr-x 1 elasticsearch elasticsearch   4096 May 15  2018 config
drwxr-xr-x 4 elasticsearch elasticsearch   4096 Jul 23 12:15 data
drwxr-xr-x 2 elasticsearch elasticsearch   4096 Jul 24 15:08 elastic-backup

每个docker elasticsearch节点都挂载了相同的目录。我可以看到每个节点的所有文件。

问题是,每当我尝试创建快照存储库时,我都会收到以下错误:

呼叫:

代码语言:javascript
复制
PUT /_snapshot/elastic-backup-1
{
  "type": "fs",
  "settings": {
    "location": "/usr/share/elasticsearch/elastic-backup"
  }
}

错误:

代码语言:javascript
复制
{
  "error": {
    "root_cause": [
      {
        "type": "repository_verification_exception",
        "reason": "[elastic-backup-1] [[some-id, 'RemoteTransportException[[master-2][VM2-ip][internal:admin/repository/verify]]; nested: RepositoryVerificationException[[elastic-backup-1] a file written by master to the store [/usr/share/elasticsearch/elastic-backup] cannot be accessed on the node [{master-2}{some-id}{some-id}{VM2-ip}{VM2-ip}{zone=AZ2}]. This might indicate that the store [/usr/share/elasticsearch/elastic-backup] is not shared between this node and the master node or that permissions on the store don't allow reading files written by the master node];'], [some-id, 'RemoteTransportException[[data-2][VM2-ip][internal:admin/repository/verify]]; nested: RepositoryVerificationException[[elastic-backup-1] a file written by master to the store [/usr/share/elasticsearch/elastic-backup] cannot be accessed on the node [{data-2}{some-id}{some-id}{VM2-ip}{VM2-ip}{zone=AZ2}]. This might indicate that the store [/usr/share/elasticsearch/elastic-backup] is not shared between this node and the master node or that permissions on the store don't allow reading files written by the master node];'], [some-id, 'RemoteTransportException[[data-1][VM1-ip][internal:admin/repository/verify]]; nested: RepositoryVerificationException[[elastic-backup-1] a file written by master to the store [/usr/share/elasticsearch/elastic-backup] cannot be accessed on the node [{data-1}{some-id}{some-id}{VM1-ip}{VM1-ip}{zone=AZ1}]. This might indicate that the store [/usr/share/elasticsearch/elastic-backup] is not shared between this node and the master node or that permissions on the store don't allow reading files written by the master node];'], [some-id, 'RemoteTransportException[[master-1][VM1-ip][internal:admin/repository/verify]]; nested: RepositoryVerificationException[[elastic-backup-1] a file written by master to the store [/usr/share/elasticsearch/elastic-backup] cannot be accessed on the node [{master-1}{some-id}{some-id}{VM1-ip}{VM1-ip}{zone=AZ1}]. This might indicate that the store [/usr/share/elasticsearch/elastic-backup] is not shared between this node and the master node or that permissions on the store don't allow reading files written by the master node];'], [some-id, 'RemoteTransportException[[data-3][VM3-ip][internal:admin/repository/verify]]; nested: RepositoryVerificationException[[elastic-backup-1] a file written by master to the store [/usr/share/elasticsearch/elastic-backup] cannot be accessed on the node [{data-3}{some-id}{some-id}{VM3-ip}{VM3-ip}{zone=AZ1}]. This might indicate that the store [/usr/share/elasticsearch/elastic-backup] is not shared between this node and the master node or that permissions on the store don't allow reading files written by the master node];']]"
      }
etc ..

我做错了什么吗?如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2021-05-31 23:09:27

Christian_Dahlqvist所述,您必须提供一个共享文件系统。

在所有节点都可以访问的存储库路径后面,您需要有一个共享卷,例如

卷。这意味着,如果node1写入文件,该文件将对节点2和节点3可见。因此,本地文件系统中的目录将无法工作,即使所有计算机上的路径相同也是如此。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63076558

复制
相关文章

相似问题

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