zoukankan      html  css  js  c++  java
  • 为elastic的索引做快照并恢复快照到新集群

    1. 为指定的所有做快照

    curl -XPUT "192.168.1.1:9200/_snapshot/my_backup/testindex_20170803?wait_for_completion=true&pretty=true" -d '{
        "indices": "testindex",
        "ignore_unavailable": "true",
        "include_global_state": false
    }'
    
    ignore_unavailable true 在创建快照的过程中会忽略快照请求中不存在的索引。
    ignore_unavailable 的默认值为false,即如果要做快照的索引不存在,快照请求就会失败。
    include_global_state false 能够防止集群的全局状态被作为快照的一部分存储起来。
    include_global_state的默认值为true
    partial默认值是false,如果快照中的一个或多个主分片不是可用状态,集群会等待直到主分片全部可用才开始做快照。 通过设置 partial 为 true 可以忽略主分片全部可用检查直接做快照。

      

    2.查看快照状态

    curl -XGET "182.168.1.1:9200/_snapshot/my_backup/testindex_20170803?pretty=true"

    3.将快照产生的文件拷贝到新集群数据仓库所在目录,并修改数据仓库中index文件,增加已经做快照的索引名称

    scp -r /opt/my_backup/indices/testindex 192.168.1.2:/opt/my_backup/indices
    scp /opt/my_backup/meta-testindex_20170803.dat 192.168.1.2:/opt/my_backup/
    scp /opt/my_backup/snap-testindex_20170803.dat 192.168.1.2:/opt/my_backup/
    [@192.168.1.2]cat /opt/my_backup/index
    {"snapshots":["testindex2"]}
    [@192.168.1.2]vim /opt/my_backup/index
    {"snapshots":["testindex2","testindex"]} 

    4.使用新集群地址查看快照状态,状态和第2步查看结果一样,说明快照迁移成功

    curl -XGET "182.168.1.2:9200/_snapshot/my_backup/testindex_20170803?pretty=true"
    

    5.恢复快照到新集群

    curl -XPOST "192.168.1.2:9200/_snapshot/my_backup/testindex_20170803/_restore?wait_for_completion=true&pretty=true" -d '{
        "indices": "testindex",
        "ignore_unavailable": "true",  
        "include_global_state": false,
        "include_aliases": false,     
        "partial": "false",      
        "rename_pattern": "testindex",
        "rename_replacement": "testindex_from_192_168_1_1"
    }'
    ignore_unavailable true 在恢复快照的过程中会忽略快照请求中不存在的索引。
    ignore_unavailable 的默认值为false,即如果要做快照的索引不存在,快照请求就会失败。
    include_global_state false 能够防止集群的全局状态被作为快照的一部分存储起来。
    include_global_state的默认值为false【恢复索引的默认值和创建索引的默认值不一样】
    include_aliases false 不恢复索引别名信息到集群
    include_aliases 的默认值为true
    partial false快照中索引分片信息如果不完整,不恢复索引到集群【partial含义和创建快照是对含义不同】
    partial默认值是false,如果设置成true,即使索引分片不足,也会恢复索引,只是被成功快照的索引分片能正常恢复,没有被成功快照的索引分片在集群中是空值代替来恢复。

    6.对比索引信息,,索引记录数是否一致

    curl -XGET "192.168.1.1:9200/_cat/count/testindex?v"
    curl -XGET "192.168.1.2:9200/_cat/count/testindex?v"

    7.删除索引快照

    curl -XDELETE "192.168.1.1:9200/_snapshot/my_backup/testindex_20170803?wait_for_completion=true&pretty=true"
    curl -XDELETE "192.168.1.2:9200/_snapshot/my_backup/testindex_20170803?wait_for_completion=true&pretty=true"

    两个集群可以使用同一个数据仓库。即在为集群建立数据仓库时使用同一个dfs目录。

    以上步骤中的第3,4步的拷贝快照数据和验证快照就可以忽略。

  • 相关阅读:
    C 语言中字符的输入输出
    C 语言 ctype.h 中系列字符处理函数
    C 语言中 for 循环的几种用法
    C 中优先级和关系运算符
    字符串和格式化输入/输出 [printf & scanf]
    C++中关于string类的一些API总结
    两大基本数据类型
    这些时候的总结
    PL/SQL 十进制数转任意进制
    复现题目[CISCN 2019 华东北赛区 Web2 WriteUp](https://www.zhaoj.in/read-6100.html)的一些东西
  • 原文地址:https://www.cnblogs.com/micmouse521/p/8118040.html
Copyright © 2011-2022 走看看