• 为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步的拷贝快照数据和验证快照就可以忽略。

  • 相关阅读:
    解决使用gomod后goland导包报红问题
    Golang写文件的坑
    Golang去除字符串前后空格
    Golang通过结构体解析和封装XML
    Golang获取CPU、内存、硬盘使用率
    Golang数组和切片的区别
    Golang修改操作系统时间
    Golang中GBK和UTF8编码格式互转
    Golang中的各种时间操作
    Golang十六进制字符串和byte数组互转
  • 原文地址:https://www.cnblogs.com/micmouse521/p/8118040.html
Copyright © 2020-2023  润新知