设为首页 收藏本站
查看: 1184|回复: 0

[经验分享] ELK索引备份,迁移及恢复

[复制链接]

尚未签到

发表于 2019-1-28 10:39:26 | 显示全部楼层 |阅读模式
        由于公司的elasticsearch集群只是用了两台服务器。只要一台服务器数据丢失elasticsearch将丢失一半数据。所以数据的备份恢复就相当重要。elasticsearch 快照和恢复模块可以创建单个索引或者整个集群的快照到远程的仓库实现数据的备份及恢复。
  下面以备份恢复.kibana索引为例
  数据备份及恢复
  1、修改elasticsearch配置文件
  vim elasticsearch.yml
  添加 path.repo: ["/mnt/bak"]
  #设置仓库路径
  备注如果你有多台ealsticsearch服务器作为集群可以先关闭分片服务器只在master主节点服务器上更改。或者在创建库的之前设置创建共享文件夹
  2、创建仓库
curl -XPUT  http://192.168.10.49:9200/_snapshot/my_backup -d '
{
    "type": "fs",
    "settings": {
        "location": "/mnt/bak",
"compress": true
    }
}
'  运行上面的命令后返回结果{"acknowledged":true}
  说明仓库创建成功。
  
  compress 是否压缩
  max_snapshot_bytes_per_sec 制作快照的速度默认20mb/s
  max_restore_bytes_per_sec 快照恢复的速度默认20mb/s
  查看仓库
curl -GET http://192.168.10.49:9200/_snapshot
{"my_backup":{"type":"fs","settings":{"compress":"true","location":"/mnt/bak"}}}  3、备份数据
curl -XPUT http://192.168.10.49:9200/_snapshot/my_backup/snapshot_20161207  执行上面的命令会快照ealsticsearch上所有的索引。
  如果需要快照指定的索引
curl -XPUT http://192.168.10.49:9200/_snapshot/my_backup/snapshot_20161207 -d '
{
    "indices": ".kibana"
}
'  如果成功返回结果显示{"accepted":true}
  4、查看备份
curl -XGET http://192.168.10.49:9200/_snapshot/my_backup/snapshot_20161207  此命令是查看快照的情况返回的数据会比较多
  {"snapshots":[{"snapshot":"snapshot_20161207","version_id":2030599,"version":"2.3.5","indices":["es-index-
  .........中间N行数据..........
  {"total":71,"failed":0,"successful":37}}]}
  也可以使用下面的命令查看快照的状态
curl -XGET http://192.168.10.49:9200/_snapshot/my_backup/snapshot_20161207/_status
{"snapshots":[{"snapshot":"snapshot_20161207","repository":"my_backup","state":"SUCCESS","shards_stats":{"initializing":0,"started":0,"finalizing":0,"done":1,"failed":0,"total":1},"stats":{"number_of_files":14,"processed_files":14,"total_size_in_bytes":143273,"processed_size_in_bytes":143273,"start_time_in_millis":1481060674078,"time_in_millis":50},"indices":{".kibana":{"shards_stats":{"initializing":0,"started":0,"finalizing":0,"done":1,"failed":0,"total":1},"stats":{"number_of_files":14,"processed_files":14,"total_size_in_bytes":143273,"processed_size_in_bytes":143273,"start_time_in_millis":1481060674078,"time_in_millis":50},"shards":{"0":{"stage":"DONE","stats":{"number_of_files":14,"processed_files":14,"total_size_in_bytes":143273,"processed_size_in_bytes":143273,"start_time_in_millis":1481060674078,"time_in_millis":50}}}}}}]}  5、取消备份

curl -XDELETE http://192.168.10.49:9200/_snapshot/my_backup/snapshot_20161207  6、恢复备份
curl -XPOST http://192.168.10.49:9200/_snapshot/my_backup/snapshot_20160812/_restore  如果你的是集群而且在创建仓库的时候没有配置共享文件夹那会报下面的错误
{"error":"RepositoryException[[my_backup] failed to create repository]; nested: CreationException[Guice creation errors:\n\n1) Error injecting constructor, org.elasticsearch.repositories.RepositoryException: [my_backup] location [/mnt/bak] doesn't match any of the locations specified by path.repo because this setting is empty\n  at org.elasticsearch.repositories.fs.FsRepository.(Unknown Source)\n  while locating org.elasticsearch.repositories.fs.FsRepository\n  while locating org.elasticsearch.repositories.Repository\n\n1 error]; nested: RepositoryException[[my_backup] location [/mnt/bak] doesn't match any of the locations specified by path.repo because this setting is empty]; ","status":500}  解决方法关闭支点服务器elasticsearch服务重新执行即可成功。
  如果已经存在.kibana索引可以先关闭掉。
  成功恢复数据后只有主节点服务器存在.kibana索引。我们希望所有的节点服务器都存在此索引时执行下面的命令
curl -XPUT 'http://192.168.10.49:9200/.kibanna/_settings' -d '
{
    "index" : {
        "number_of_replicas" : 1
    }
}'





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-668603-1-1.html 上篇帖子: 我所认识的ELK Stack 下篇帖子: ELK集中日志管理系统安装部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表