Elasticsearch 1.7备份错误

时间:2017-06-09 17:51:19

标签: elasticsearch

我知道这个问题已多次发布,但我找到的解决方案都没有帮助我,所以也许这是一个不同的问题?

我有一个节点,我的mac上设置了本地ES,我正在尝试创建一个快照(整个过程就是将数据迁移到2.x版本)

我正在尝试使用/ User / Shared作为存储快照的路径,因为我知道每个人都可以访问它

我在elasticsearch.yml中的path.repo设置为

path.repo: ["/Users/Shared/es_backup","/mount/backups", "/mount/longterm_backups"]

我手动创建了一个名为es_backup

的文件夹(chmod为777)

现在我跑

curl -XPUT 'http://localhost:9200/_snapshot/es_backup' -d '{
    "type":"fs", 
    "setting":{
        "compress": true, 
        "location": "/Users/Shared/es_backup"}}'

它给我一个错误:

1) Error injecting constructor, 
    org.elasticsearch.repositories.RepositoryException: [es_backup] missing location
    at org.elasticsearch.repositories.fs.FsRepository.<init>(Unknown Source)
    while locating org.elasticsearch.repositories.fs.FsRepository
    while locating org.elasticsearch.repositories.Repository

正如我所提到的,我实际上已经看到很多线程在讨论相同的错误,它总是指向权限问题。我已将所有内容设置为777,但仍然会发生

运行curl "locatinhost:9200/_nodes/settings?pretty"时我得到了

{
  "cluster_name" : "<some_name>",
  "nodes" : {
    "W0SRjd24Tfq1_S8UPegNlA" : {
      "name" : "Flash Thompson",
      "transport_address" : "inet[/127.0.0.1:9300]",
      "host" : "<some_host>",
      "ip" : "10.1.2.39",
      "version" : "1.7.5",
      "build" : "00f95f4",
      "http_address" : "inet[/127.0.0.1:9200]",
      "settings" : {
        "path" : {
          "data" : "/usr/local/var/elasticsearch/",
          "logs" : "/usr/local/var/log/elasticsearch",
          "plugins" : "/usr/local/var/lib/elasticsearch/plugins",
          "home" : "/usr/local/Cellar/elasticsearch17/1.7.5",
          "repo" : [ "/Users/Shared/es_backup", "/mount/backups", "/mount/longterm_backups" ]
        },
        "cluster" : {
          "name" : "<some_name>"
        },
        "name" : "Flash Thompson",
        "client" : {
          "type" : "node"
        },
        "foreground" : "yes",
        "config" : {
          "ignore_system_properties" : "true"
        },
        "network" : {
          "host" : "127.0.0.1"
        }
      }
    }
  }
}

其中some_name和some_host是我的群集名称和我的机器

我知道我的设置已正确应用,因为repo部分清楚地显示了我想要存储快照的路径

所以我被困在这里想知道我做错了什么以及如何解决它

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

当我尝试为默认路径以外的路径设置path.repo时,事实证明存在一些问题。当我尝试将位置设置为/ mount / backups / my_backup时,一切都很顺利。