文档章节

Elasticsearch 2.3.0 老版本升级指南

赛克蓝德
 赛克蓝德
发布于 2016/05/10 12:34
字数 1717
阅读 1253
收藏 16
点赞 2
评论 0

    Elasticsearch通常可以使用滚动升级过程,导致服务不中断。本文详细介绍如何执行滚动升级与集群的升级重启。Elasticsearch不是所有版本都可以直接升级。升级前请先查阅相关文档,然后进行数据备份,最好在测试环境下模拟做一遍。升级可以参照以下内容。

从0.90.x到2.x需要全集群重启。

从1.x到2.x需要全集群重启。

从2.x到2.y可以不用全部重启,使用滚动升级完成(y>x)。

插件问题,在升级的时候,同时要考虑到插件问题,最好插件的版本和Elasticsearch版本一致。

在每个节点上升级和重启的过程为:
1、关闭Elasticsearch
2、升级Elasticsearch
3、升级插件
4、启动Elasticsearch

集群重启步骤:

1、关闭分片分配。

当我们视图关闭一个节点的时候,Elasticsearch会立即试图复制这个节点的数据到集群中的其他节点上。这将导致大量的IO请求。在关闭该节点的时候可以通过设置一下参数来避免此问题的发生。

PUT /_cluster/settings
{
  "transient": {
    "cluster.routing.allocation.enable": "none"
  }
}

2、执行一个同步刷新

当停止一个索引的时候,分片的恢复会很快,所以要进行同步刷新请求。

POST /_flush/synced

同步刷新请求是非常有效的一种操作,当任何索引操作失败的时候,可以执行同步刷新请求,必要的时候可以执行多次。

3、关闭和升级所有节点
停止在群集中的所有节点上的服务。每一个节点都要进行单独升级。这个主要就是文件替换操作,注意保留日志目录。

4、启动集群

如果你有专门的主节点(node.master 节点设置为true和node.data设置为false),则先启动主节点。等待它们形成一个集群,然后选择一个主数据节点进行启动。你可以通过查看日志来检查启动情况。通过下面命令可以监控集群的启动情况,检查所有节点是否已成功加入群集。

GET _cat/health

GET _cat/nodes

5、等待黄色集群状态

当节点加入集群后,它首先恢复存储在本地的主分片数据。最初的时候,通过 _cat/health请求发现集群的状态是红色,意味着不是所有的主分片都已分配。当每个节点都恢复完成后,集群的状态将会变成黄色,这意味着所有主分片已经被找到,但是并不是所有的复本分片都恢复。

6、重新分配

延迟的副本的分配直到所有节点都加入集群,在群集的所有节点,可以重新启用碎片分配:

PUT /_cluster/settings
{
  "persistent": {
    "cluster.routing.allocation.enable": "all"
  }
}

这个时候集群将开始复制所有副本到数据节点上,这样可以安全的恢复索引和搜索,如果你能延迟索引和搜索直到所有的碎片已经恢复,这样可以加快集群的恢复。可以通过下面API监控恢复的进度和健康情况:

GET _cat/health

GET _cat/recovery

最后当集群的状态出现为绿色的时候,表示本次集群升级全部完成。

赛克蓝德 secisland  

滚动升级

滚动升级允许Elasticsearch集群升级一个节点,同时又不影响系统的使用。在同一个集群中的所有节点的版本最好保持一致,否则可能会产生不可预知的后果。滚动升级的步骤如下:

1、关闭分片分配。

当我们视图关闭一个节点的时候,Elasticsearch会立即试图复制这个节点的数据到集群中的其他节点上。这将导致大量的IO请求。在关闭该节点的时候可以通过设置一下参数来避免此问题的发生。

PUT /_cluster/settings
{
  "transient": {
    "cluster.routing.allocation.enable": "none"
  }
}

2、停止不必要的索引和执行同步刷新(可选)

您可以在升级过程中继续索引。然而,如果你暂时停止不必要的索引碎片,但它恢复要快得多。所以可以执行同步刷新操作。

POST /_flush/synced

同步刷新请求是非常有效的一种操作,当任何索引操作失败的时候,可以执行同步刷新请求,必要的时候可以执行多次。

3、停止和升级一个节点

在启动升级前,将节点中的一个节点关闭。可以通过绿色解压安装或者通过rpm等安装包安装。

不管是解压安装还是压缩包安装都要保留之前的数据文件不能被破坏。可以在新的目录中安装,把path.conf和path.data的位置指向之前的数据。

4、启动升级节点

启动“升级”节点,并通过接口检查是否正确:

GET _cat/nodes

5、启用共享配置
一旦节点加入群集,在节点重新启用碎片分配:

PUT /_cluster/settings
{
  "transient": {
    "cluster.routing.allocation.enable": "all"
  }
}

6、等待节点恢复
你应该等待集群升级的下一个节点之前完成碎片分配。可以通过以下接口进行检查:

GET _cat/health

等待的状态栏从黄到绿色。现态绿色意味着所有主分片和副本分片已经完成分配。

重要:在滚动升级期间,主碎片被分配到一个更高版本节点不会有副本分配到一个较低的版本节点,,因为新版本的数据结构可能旧版本不能识别。

一旦另一个节点升级,副本将被分配,群集的健康状态将达到绿色。

没有同步刷新碎片可能需要一些时间来恢复。恢复的状态和每个节点的监控可以用以下接口。

GET _cat/recovery

如果你停止了索引,那么恢复索引的恢复是安全的。

7、重复其他节点

当集群是稳定的,节点已经恢复,重复上述步骤,把所有剩余的节点进行升级。

赛克蓝德(secisland)后续会逐步对Elasticsearch的最新版本的各项功能进行分析,近请期待。也欢迎加入secisland公众号进行关注。

© 著作权归作者所有

共有 人打赏支持
赛克蓝德
粉丝 286
博文 115
码字总数 143664
作品 2
南京
高级程序员
当ES赶超Redis,这份ES进修攻略不容错过!

从4月DB-Engines最新发布的全球数据库排名中,我们赫然发现ElasticSearch逆袭超越了Redis,从原先的第9名上升至第8名,而Redis则落后一名,排在了其后。 事实上,这场逆袭并不算太让人意外。...

DBAplus社群 ⋅ 04/15 ⋅ 0

日志系统ELK使用详解(三)--elasticsearch安装

概述 日志系统ELK使用详解(一)–如何使用 日志系统ELK使用详解(二)–Logstash安装和使用 日志系统ELK使用详解(三)–elasticsearch安装 日志系统ELK使用详解(四)–kibana安装和使用 日志系统E...

qq_41262248 ⋅ 04/16 ⋅ 0

bboss elasticsearch v5.0.6.2 发布

The best elasticsearch highlevel java rest api-----bboss bboss elasticsearch v5.0.6.2 发布 v5.0.6.2新增功能及改进: 1.升级最新的bboss版本到5.0.5.7 2.新增bboss es rest boot模块,......

bboss ⋅ 04/29 ⋅ 0

Centos6搭建elk系统,监控IIS日志

**所需程序: 服务器端:java、elasticsearch、kikbana 客 户 端:IIS、logstash** 一、服务器端(192.168.10.46)操作: 先建立一个ELK专门的目录: [root@Cent65 ~]mkdir /elk/ 上传到elk...

D杀手D ⋅ 04/24 ⋅ 0

spring-data-elasticsearch 基本案例详解(三)

『 风云说:能分享自己职位的知识的领导是个好领导。 』 运行环境:JDK 7 或 8,Maven 3.0+ 技术栈:SpringBoot 1.5+, Spring Data Elasticsearch 1.5+ ,ElasticSearch 2.3.2 本文提纲 一、...

夜黑人模糊灬 ⋅ 05/13 ⋅ 0

logstash、elasticsearch、kibana搭建日志平台

1、下载logstash a、官方下载地址:https://www.elastic.co/downloads/logstash b、解压:tar -xzvf logstash-5.1.1.tar.gz c、设置用户测试的配置文件:vim logstatsh_test.conf,编辑内容如...

binhu ⋅ 05/23 ⋅ 0

elasticsearch数据库的数据修改问题

最近在学习elasticsearch数据库,但是感觉网上的资料并不是那么的丰富,大部分都是在转载elasticsearch权威指南的内容。 现在想问一下大家,当elasticsearch数据库中的数据需要批量修改的时候...

Death黎明 ⋅ 05/21 ⋅ 0

Elastic Search学习笔记1——安装elasticsearch2.4.6

Elastic Search 简介 1.基于Apache Lucene的开源搜索引擎 2.采用Java编写 RESTful API风格 3.较容易的横向扩展 应用场景 1.海量数据分析引擎 2.数据搜索引擎 3.数据仓库 官网 https://www.el...

晨猫 ⋅ 03/09 ⋅ 0

Elasticsearch中文分词研究

一、ES分析器简介 ES是一个实时搜索与数据分析引擎,为了完成搜索功能,必须对原始数据进行分析、拆解,以建立索引,从而实现搜索功能; ES对数据分析、拆解过程如下: 首先,将一块文本分成...

zhaipengfei1231 ⋅ 04/18 ⋅ 0

Logstash迁移Elasticsearch数据方法解读

Elasticsearch中数据搬迁是工程师们经常会做的,有时是为了集群迁移、有时是为了数据备份、有时是为了升级等等,迁移的方式也有很多种,比如说通过elasticsearch-dump、通过snapshot、甚至是...

pcdog ⋅ 05/21 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

高并发之Nginx的限流

首先Nginx的版本号有要求,最低为1.11.5 如果低于这个版本,在Nginx的配置中 upstream web_app { server 到达Ip1:端口 max_conns=10; server 到达Ip2:端口 max_conns=10; } server { listen ...

算法之名 ⋅ 今天 ⋅ 0

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部