ubuntu - 在 ubuntu 机器中恢复 Elastic Search 快照时出现 RepositoryException

标签 ubuntu permissions elasticsearch repository permission-denied

当我们从 Elasticsearch 的旧版本(1.0)升级到最新版本(4.0)时,我们需要将索引数据从旧版本备份到最新版本的备份。以下也是如此

  1. 在 elasticsearch windows 机器上拍下数据快照
  2. 在elasticsearch ubuntu机器中恢复(注册)快照数据

遇到与此 link 中相同的异常.我用 sudo 检查了相同的命令。然而并没有成功。因此,请告知如何重置读/写设置/权限设置以允许创建文件夹。

查询:

curl -XPUT http://xx.xx.xx.xx:9200/_snapshot/es_snap -d '{
"type": "fs",
    "settings": {
        "location": "/mount/backups/my_backup"
    }
}'

响应:

{
  "error":"RepositoryException[[es_snap] failed to create repository]; 
            nested: CreationException[Guice creation errors:\n\n1) Error injecting constructor, org.elasticsearch.common.blobstore.BlobStoreException: 
          Failed to create directory at [
            D:/data/es_snapshot_bkup/es_snapshot_repo
          ]\n  
          at org.elasticsearch.repositories.fs.FsRepository.<init>(Unknown Source)\n  
          while locating org.elasticsearch.repositories.fs.FsRepository\n  
          while locating org.elasticsearch.repositories.Repository\n\n1 error]; 
            nested: BlobStoreException[Failed to create directory at [/mount/backups/my_backup]];",
  "status":500
}

最佳答案

这对我有用。请检查一下。 在恢复和备份操作之前可以创建一个存储库。

  1. mkdir ~/backup
  2. chmod 777 ~/备份

  3. 创建一个存储库(存储库代表你的路径)

    curl -XPUT http://xx.xx.xx.xx:9200/_snapshot/es_snap -d '{ “类型”:“FS”, “设置”:{ “位置”:“/家/用户/备份” } }

  4. 快照

    curl -XPUT "http://xx.xx.xx.xx:9200/_snapshot/es_snap/snapshot_1"-d '{ “指数”:“index_1,index_2”, "ignore_unavailable": "真", }'

  5. 再次为最新版本 (4.0) 的 Elastic search 创建一个新的存储库,并提及相同的位置。

  6. 可以使用以下命令恢复快照:

    curl -XPOST "http://xx.xx.xx.xx:9200/_snapshot/es_snap/snapshot_1/_restore"

关于ubuntu - 在 ubuntu 机器中恢复 Elastic Search 快照时出现 RepositoryException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27120131/

相关文章:

entity-framework - Entity Framework 从数据库生成模型需要什么权限?

每次 gitolite-admin 推送后,Gitolite 后接收 Hook 不再可执行

python - 如何使用 pycurl 将嵌套 bool 过滤器查询列表发送到 Elasticsearch?

ubuntu - 程序集 8086 - 从键盘读取一个值并将其与另一个值进行比较

java - 启用安全性的 Eclipse Indigo 中的 Tomcat 7 显示空白 JSP 页面

php - Mailgun 没有到达最后一个 echo/test 语句(PHP/Ubuntu 设置)

elasticsearch - 使用Elastic Search的自定义构面

php - 如何使用 Elastica 进行查询

mysql - shell脚本中使用的mysql语句语法错误

ubuntu - Python 逻辑错误 : clGetPlatformIDs failed: platform not found khr