es数据恢复杂记

  kill -9或者断电等原因异常,es在重启后,会通过translog来进行数据恢复。

  默认的恢复速度是较慢的,可以设置indices.recovery.current_streams:10增大恢复的线程数,还可以设置indices.recovery的其他参数加快恢复的速度。

但是某些情况下,如lucene文件格式错误等,重启es后无法通过自身恢复,可以考虑如下的方式。

1.主分片是正常的,副本分片有错误,且无法通过复制机制恢复。可以考虑删除有问题的分片,集群会通过复制的方式恢复。

2.主分片和副本分片都有错误,备份数据后,可以使用尝试恢复lucene文件。这种方式会删除有问题的段,当段很大时,会丢失很多的文件。

java -cp /opt/software/elasticsearch/lib/lucene-core-5.3.1.jar -ea:org.apache.lucene... org.apache.lucene.index.CheckIndex /esdata/estest/0/test/0/index -exorcise

可以使用上面的命令尝试修复,但是一定要先备份数据。

java -cp /opt/software/elasticsearch/lib/lucene-core-5.3.1.jar -ea:org.apache.lucene... org.apache.lucene.index.CheckIndex,回车后会提示使用的方法。

参数/opt/software/elasticsearch/lib/lucene-core-5.3.1.jar是es安装目录lib目录,/esdata/estest/0/test/0/index是有问题的分片所对应的文件目录。

不要删除分片文件夹下的segments_N文件,lucene5.x下该文件不会再重建。删除该文件后使用CheckIndex 也无法恢复。

时间: 2024-10-20 14:27:23

es数据恢复杂记的相关文章

Elasticsearch之es学习工作中遇到的坑(陆续更新)

1:es集群脑裂问题(不要用外网ip,节点角色不要混用) 原因1:阿里云服务器,外网有时候不稳定. 解决方案:单独采购服务器,内网安装 原因2:master和node节点没有分开 解决方案: 分角色:master节点(三台),data节点(随着数据增加而增加),client(随着查询压力而增加)节点 Master节点:node.master: true   node.data: false Data节点:node.master: false   node.data: true Client 节点

ES(5): ES Cluster modules settings

ES cluster 提供了针对不同模块的参数设置,可通过修改集群上各个节点的elasticsearch.yml文件,也可在集群运行时通过api接口来更新(https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-update-settings.html) 目录: 基本概念回顾 详细参数说明 基本概念回顾 集群(cluster):代表一个集群,集群中有多个节点(node),其中有一个为主节点,这个主节点是可以通

#研发解决方案介绍#基于ES的搜索+筛选+排序解决方案

郑昀 基于胡耀华和王超的设计文档 最后更新于2014/12/3 关键词:ElasticSearch.Lucene.solr.搜索.facet.高可用.可伸缩.mongodb.SearchHub.商品中心 本文档适用人员:研发和运维 提纲: 曾经的基于MongoDB的筛选+排序解决方案 MongoDB方案的缺陷 看中了搜索引擎的facet特性 看中了ES的简洁 看中了ES的天生分布式设计 窝窝的ES方案 ES的几次事故和教训 ES自身存在的问题 首先要感谢王超和胡耀华两位研发经理以严谨治学的研究精

ElasticSearch笔记整理(二):CURL操作、ES插件、集群安装与核心概念

[TOC] CURL操作 CURL简介 curl是利用URL语法在命令行方式下工作的开源文件传输工具,使用curl可以简单实现常见的get/post请求.简单的认为是可以在命令行下面访问url的一个工具.在centos的默认库里面是有curl工具的,如果没有请yum安装即可. curl -X 指定http的请求方法 有HEAD GET POST PUT DELETE -d 指定要传输的数据 -H 指定http请求头信息 curl创建索引库 curl -XPUT http://<ip>:9200

es、es-head安装

es安装(以elasticsearch-5.4.0为例) 1.节点规划 节点 master data client es-head xpack kibana node1 是 是 否 是 Text 否 node2 是 是 否 否 Text 是 node3 是 是 否 否 Text 否 node4 否 是 否 否 Text 否 node5 否 是 否 否 Text 否 node6 否 是 是 否 Text 否 node7 否 是 是 否 Text 否 2.安装????1>新建es 用户,上传elas

elasticsearch(es) 集群恢复触发配置(Local Gateway参数)

elasticsearch(es) 集群恢复触发配置(Local Gateway) 当你集群重启时,几个配置项影响你的分片恢复的表现. 首先,我们需要明白如果什么也没配置将会发生什么. 想象一下假设你有 10 个节点,每个节点只保存一个分片,这个分片是一个主分片或者是一个副本分片,或者说有一个有 5 个主分片/1 个副本分片的索引.有时你需要为整个集群做离线维护(比如,为了安装一个新的驱动程序), 当你重启你的集群,恰巧出现了 5 个节点已经启动,还有 5 个还没启动的场景. 假设其它 5 个节

ELasticSearch(五)ES集群原理与搭建

一.ES集群原理 查看集群健康状况:URL+ /GET _cat/health (1).ES基本概念名词 Cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的.es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的. Shards 代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大

ES搜索引擎集群模式搭建

一.简介 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎(与Solr类似),基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便. 二.相关概念 cluster 代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点通过选举产生,主从节点是对于集群内部来说的.ES的一个

mac数据恢复软件EasyRecovery使用教程

mac数据恢复软件EasyRecovery使用教程 文件丢失是非常让人郁闷的!因为没有备份所以很多重要的东西都没有办法找回!小编为大家准备了EasyRecovery,这款数据恢复软件费非常好用,可以将您丢失的数据找回.小编还特意为大家准备了数据恢复软件EasyRecovery使用教程,下面就和小编一起来看看具体如何使用吧! <ignore_js_op> 数据恢复软件EasyRecovery使用教程介绍:第一步:我们需要在Mac中安装好EasyRecovery for Mac,然后启动EasyR