前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >elastic search 如何将yellow 状态变为green健康状态

elastic search 如何将yellow 状态变为green健康状态

作者头像
MickyInvQ
发布2020-09-27 11:21:23
2.1K0
发布2020-09-27 11:21:23
举报
文章被收录于专栏:InvQ的专栏
背景原理

green状态:每个索引的primary shard和replica shard都是active状态 yellow : 每个索引的primary shard都是active状态,但是部分replica shard不是active状态,处于不可用状态 red: 不是所有的索引的primary shard都是active状态,部分索引有数据丢失了

为什么现在处于一个yellow状态

我们现在就一台机器,就启动了一个es进程。相当于就起了一个节点,由于默认的配置是每个index分配5个primary shard和1 个replica shard,而且primary shard和replica shard不能在一个机器上(为了容错)。所以,现在的replica shard没法被分配

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
ps -ef | grep ela

后发现只有一个进程

在这里插入图片描述
在这里插入图片描述

此时,我们再启动一个进程,观察下

在这里插入图片描述
在这里插入图片描述

果然:

在这里插入图片描述
在这里插入图片描述

我们需要释放一点内存来启动 通过top查看现在最占内存的应用:

在这里插入图片描述
在这里插入图片描述

我们去看看1330这个进程

代码语言:javascript
复制
ps -ef |grep 1330

发现是之前测试的一个高版本的es进程,果断干掉

在这里插入图片描述
在这里插入图片描述

再次查看内存后ok

在这里插入图片描述
在这里插入图片描述

再次尝试启动es 5.4 报错如下:

在这里插入图片描述
在这里插入图片描述

应该是配置最大节点数目为1了,日志说的也比较明显了

因为默认配置的1,我们一般也只在一台机子上部署一个节点,不过我们开发环境为了演示变为green,这里配置下为2

配置如下:

在这里插入图片描述
在这里插入图片描述

这次启动没上面这个问题了 不过我们忘了改端口

在这里插入图片描述
在这里插入图片描述

注意,ES的配置文件必须使用elasticsearch.yml这个命名,因此必须创建出两个目录来。所以,我这里copy一份配置,重新建立一个目录进行操作,并配置如下:

把默认的端口改掉

在这里插入图片描述
在这里插入图片描述

修改日志位置:

在这里插入图片描述
在这里插入图片描述

修改节点名:

在这里插入图片描述
在这里插入图片描述

重新启动成功

在这里插入图片描述
在这里插入图片描述

再次查看es的状态

在这里插入图片描述
在这里插入图片描述

任然是yellow,查看节点2 的日志:

在这里插入图片描述
在这里插入图片描述

意思是不能组成一个集群。最后查看相关文献,删除掉从master复制来的data目录下的nodes节点内容,启动ok! 节点02 加入集群:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

之前的这个索引已经有一个replica分配过来了

在这里插入图片描述
在这里插入图片描述

因为我这边之前程序创建索引没指定个数,默认是1个主分片,5个副本 通过查看索引setting配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

所以,我这里手动将副本改为1个

在这里插入图片描述
在这里插入图片描述

再次查看

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

修复成功!

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/05/24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景原理
  • 为什么现在处于一个yellow状态
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档