• Elasticsearch灾备同步方案功能验证(三)


    最近因为客户项目需要,所以专门调研了Elasticsearch的这些不常用的重要功能,并整理成文档,现在分享出来,希望对有这方面需求的同行有些帮助

    由于内容较多,一共分为三部分分享

    1. Elasticsearch多主、多数据、多协调、多冷节点节点说明及配置
    2. Elasticsearch灾备同步方案设计
    3. Elasticsearch灾备同步方案设计验证

    • 搭建两套ElasticSearch集群,k8s-dev1作为备份集群、k8s-dev4作为还原集群
    • 共享目录需要设置读写权限及PV、PVC的多节点读写配置
    • 在备份集群添加一些备份数据
    1. curl -XPUT 'http://10.10.5.8:30011/researchdata/_doc/4' -H 'Content-Type:application/json'
    2. -d '{"title":"research_3","datetime":"2020-05-28 16:24:22"}'

    复制

    • 创建备份仓库
    • curl -XPOST 'http://10.10.5.8:30011/_snapshot/backup' -H 'Content-Type:application/json' -d '{"type":"fs","settings":{"location":"/opt/share/es_snap"}}'

    • 创建备份镜像
    • curl -XPUT 'http://10.10.5.8:30011/_snapshot/backup/snapshot_20220530001?wait_for_completion=true' -H 'Content-Type:application/json' -d '{ "indices": "researchdata", "ignore_unavailable": true, "include_global_state": false }'

    • 查看镜像数据文件

    • 创建还原仓库
    • curl -XPOST 'http://10.10.6.15:30012/_snapshot/backup' -H 'Content-Type:application/json' -d '{"type":"fs","settings":{"location":"/opt/share/es_snap"}}'
    • 还原镜像数据
    • curl -XPOST 'http://10.10.6.15:30012/_snapshot/backup/snapshot_20220530001/_restore?wait_for_completion=true' -H 'Content-Type:application/json' -d '{ "indices": "researchdata", "ignore_unavailable": true, "include_aliases": false }'
      • snapshot_20220530001:镜像名称
      • indices:还原的索引
    • k8s-dev4还原集群查看数据
    • curl -XGET 'http://10.10.6.15:30012/researchdata/_doc/_search?pretty=true' -H 'Content-Type:application/json'

    • 可以看到数据已经还原
    • 注意事项
      • 镜像文件可以创建多次,也可以用定时任务间隔性的创建镜像
      • 多次创建镜像相当于增量创建,每次创建都会检查数据是否已经存在,只会把改动的数据创建成镜像文件
      • 在镜像还原时,如果需要还原的索引应经存在,建议删除或者重命名索引
        • 删除索引
      • curl -XDELETE http://10.10.6.15:30012/researchdata
      • 共享文件夹需要多个集群都能访问及读写权限
      • ElasticSearch对资源要求苛刻,如果资源不够直接导致容器重复重启,可以通过配置限制
    1. spec:
    2. containers:
    3. - name: elasticsearch
    4. image: abcsys.cn:5000/public/elasticsearch:7.14.0
    5. volumeMounts:
    6. - mountPath: /opt/share/es_snap
    7. name: elasticsearch-data
    8. env:
    9. - name: "path.repo"
    10. value: "/opt/share/es_snap"
    11. - name: "http.cors.allow-origin"
    12. value: "*"
    13. - name: ES_JAVA_OPTS
    14. value: "-Xms1024m -Xmx1024m"
    15. - name: network.host
    16. value: "0.0.0.0"
    17. resources:
    18. limits:
    19. cpu: '1'
    20. memory: 2Gi
    21. requests:
    22. cpu: 500m
    23. memory: 1Gi

    复制

    curl -XDELETE http://10.10.6.15:30012/_snapshot/backup

    复制

    path.repo: /opt/share/es_snap

    喜欢的朋友记得给个关注~

  • 相关阅读:
    My Ninety-fifth Page - 最大子序和 - By Nicolas
    html静态商城网页制作 基于HTML+CSS+JavaScript在线服装商城店铺商城设计毕业论文源码
    嵌入式开发:加速物联网设备的开发
    【探索嵌入式虚拟化技术与应用】— 虚拟化技术深入浅出自学系列
    vue.js实例选项
    手机短信怎么恢复
    1024程序员节 | 电脑软件:SmartSystemMenu(窗口置顶工具)介绍
    操作系统备考学习 day2 (1.3.2 - 1.6)
    架构面试题汇总(一)
    俄罗斯方块小游戏
  • 原文地址:https://blog.csdn.net/lzh_boy/article/details/126050746