文档章节

转:elasticsearch外场分片找回-UNASSIGNED

雁南飞丶
 雁南飞丶
发布于 2018/09/18 12:21
字数 664
阅读 24
收藏 0

0x01 缘由

     产品开发过程中没有专人去深入理解elasticsearch相关原理,导致在产品生产部署时,没有做到合理的物理架构部署,导致后期问题不断出现。

     当外场出现服务器资源瓶颈时,紧急调整相关结构,忙中出错,调整主节点时,导致某个索引无法找回相关分片。类似:

     

     1、3分片 “ UNASSIGNED”

0x02 场景描述

     软件:elasticsearch 5.1.1 版本 5个节点 1个主节点 

     运行软件: 上面跑各种程序,导致资源使用需要非常珍惜。

     a.尝试修改elasticsearch/config/elasticsearch.yml 中相关参数,即作为数据节点,又作为主节点如下:

     node.master: true

     node.data: true

     b.重启es

     重启es几分钟后,重新分片还未完成,就开始重启其他节点。

     c.过了几个小时后,发现一个索引分片无法找回,状态变为RED;

     后台日志报错:

     017-08-31T15:37:06,018][WARN ][o.e.g.DanglingIndicesState] [node8] [[wide_protocols_215a_201707/j7yRa0RoT6eQPZzl67wv3g]] can not be importe

d as a dangling index, as index with same name already exists in cluster metadata

0x03 问题分析

     数据对于现网运行环境来说,比较重要。所以得想办法去恢复索引分片。

     a.查看索引分片的uuuid:

     

    b.然后进入后台数据存储路径,查看,发现7月份索引两个分片信息,这也是导致es后台日志有如下警告的原因:

     017-08-31T15:37:06,018][WARN ][o.e.g.DanglingIndicesState] [node8] [[wide_protocols_215a_201707/j7yRa0RoT6eQPZzl67wv3g]] can not be importe

d as a dangling index, as index with same name already exists in cluster metadata

   c.导致es状态总是 RED,影响到数据的检索速度等。

0x04 解决思路和办法

   解决问题的过程中尝试了很多做法:

     1、强制重新分片---无用

     2、尝试修改分片文件信息---无用

  最后,可行的方法是:

     1、将所有节点新生成的UUID对象的文件备份移走;

     2、通过head等工具,直接删除该索引;

     3、ES立马把老的索引信息恢复;

0x05 总结

     解决问题是一个逻辑推理的过程,只有根据相关信息和理论去找原因,然后不断在开发环境下尝试,最后总会找到解决问题的方法。

© 著作权归作者所有

雁南飞丶
粉丝 37
博文 176
码字总数 228466
作品 0
西安
运维
私信 提问
ElasticSearch重启之后shard未分配问题的解决

环境: Ubuntu16.04 elasticsearch 6.2.3 3个master节点,10个data节点 每个分片有一个副本 故障: 将一个数据节点的elasticsearch换成docker elasticsearch,分词器没有添加到plugins中。随...

Vincent-Duan
今天
0
0
单节点Elasticsearch出现unassigned_shards原因及解决办法

https://blog.csdn.net/x4609883/article/details/79926267 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/x4609883/article/details/79926267 查看单节点E...

writeademo
2018/09/08
0
0
分布式定时任务调度平台Elastic-Job技术详解

在我们的项目当中,使用定时任务是避免不了的,我们在部署定时任务时,通常只部署一台机器。部署多台机器时,同一个任务会执行多次。比如给用户发送邮件定时任务,每天定时的给用户下发邮件。...

adi851270440
2018/05/29
0
0
SpringBoot使用Elastic-Job

本文介绍SpringBoot整合Elastic-Job分布式调度任务(简单任务)。 1.有关Elastic-Job Elastic-Job是当当网开源的分布式任务调度解决方案,是业内使用较多的分布式调度解决方案。 这里主要介绍...

dalaoyang
03/05
0
0
Elastic Search原理简述

一、Elastic Search概述: 1.1 Elastic Search 简介 Elastic Search(ES)是一个基于Lucene构建的开源、分布式、RESTFul接口全文搜索引擎。ES还是一个分布式文档库,其中每个字段均是被索引的...

zhglance
02/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

tornadofx根据不同的选择显示隐藏控件

import javafx.collections.FXCollectionsimport tornadofx.*class LearnApp : App(ChooseUserView::class)class User() { constructor(name: String, type: Int, isAdmin: B......

oschina4cyy
8分钟前
1
0
Leetcode PHP题解--D105 1005. Maximize Sum Of Array After K Negations

D105 1005. Maximize Sum Of Array After K Negations 题目链接 1005. Maximize Sum Of Array After K Negations 题目分析 给定一个数组A,对其进行K次以下操作:从数组A中选择任意元素,取其...

skys215
18分钟前
0
0
为什么重复的GET请求变慢了?

最近在研究慢请求监控的问题,写了一个简单的测试代码:在网页端(index.html)通过fetch函数向服务端获取数据,然后打印请求耗时。 function requestData() { let start = new Date(); ...

Fundebug
36分钟前
7
0
5年时间,我从开发做到总裁的秘籍--如何提升技术型管理者的领导力

作者:阿里云MVP 肖凯 对于深耕技术的一线开发者而言,大多数都希望把技术工作进行到底,或者一直从事和技术技术相关性更高的工作。但随着年龄和经验的增长,我对管理和技术的思考越来越多、...

阿里云云栖社区
41分钟前
4
0
LeetCode 142:环形链表 II Linked List Cycle II

给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 ...

iCodeBugs
42分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部