【问题标题】:Elasticsearch index backup optionsElasticsearch 索引备份选项
【发布时间】:2017-03-10 04:37:11
【问题描述】:

如果网络或磁盘读取出现任何故障,如何在相同或不同的服务器上执行索引备份和恢复 ES。我们通过了快照选项是否有任何其他选项可以实现它,我们需要每周和每天执行备份,请帮助我们

【问题讨论】:

    标签: search elasticsearch indexing


    【解决方案1】:

    在我的公司,我们使用crontab,每晚使用Snapshot API 运行shell 脚本(使用curl)。请注意,您可以在另一个集群上恢复您的备份,即使该集群有一个 posterior version 的 ES。

    所有文件都通过 Cloud AWS Plugin 发送到 Amazon S3

    • 在终端创建crontab 运行:

    crontab -e

    • 使用vinano,在最后添加这一行,假设您希望它每天早上5 点运行:

    5 0 * * * /home/shell_scripts_directory/snapshot.sh

    然后在上面指定的位置创建snapshot shell 脚本:

    #!/bin/bash
    
    NOW="$(date +'%Y-%m-%d')"
    S3_REPO="s3"
    NODE_IP="192.168.1.80"
    COMMAND="http://${NODE_IP}:9200/_snapshot/${S3_REPO}/${NOW}"
    
    RESULT=$(curl -s -XPUT "$COMMAND")
    echo "Snapshot from [$NOW] at [$S3_REPO] resulted with $RESULT" >> /tmp/snapshot.log
    

    请注意,此脚本还会创建一个日志/tmp/snapshot.log

    要获取有关当前快照任务的信息:

    curl -XGET "localhost:9200/_snapshot/_status"
    

    您还可以使用备份标签查看特定任务,即使它当前未运行:

    curl -XGET "localhost:9200/_snapshot/my_backup/snapshot_1/_status"
    

    【讨论】:

    • 如何将 crontab 与 curl 命令一起使用,您能否也发布您的示例示例
    • 如何识别快照完成所用的时间?快照会影响搜索性能吗?
    • @user3351014 快照任务不执行查询来检索数据,因此对搜索的影响不大。关于上面添加的快照任务的更多信息。
    • 如果我有 6-7 个节点,当在文件系统中做快照时,哪个节点会保存快照?如果我有大量数据如何与多个线程并行运行以获取快照
    猜你喜欢
    • 2021-11-06
    • 2015-06-24
    • 2011-08-19
    • 2019-10-14
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    • 1970-01-01
    相关资源
    最近更新 更多