Elasticsearch基础
01、Elasticsearch 教程: 基础教程
02、Elasticsearch 教程: 简介
03、Elasticsearch 教程: 安装前准备工作
04、Elasticsearch 教程: 安装 ( Windows )
05、Elasticsearch 教程: 安装 ( Unix )
06、Elasticsearch 教程: 术语
07、Elasticsearch 教程: RESTful API
08、Elasticsearch 教程: 初体验 – 分词
09、Elasticsearch 教程: 中文分词 – 结巴分词
10、Elasticsearch 教程: 准备数据
11、Elasticsearch 教程: 填充数据
12、Elasticsearch 教程: API 约定
13、Elasticsearch 教程: 文档 API
14、Elasticsearch 教程: 搜索 API
15、Elasticsearch 教程: 聚合计算
16、Elasticsearch 教程: 索引 API
17、Elasticsearch 教程: 集群管理 API
18、Elasticsearch 教程: 查询描述语言
19、Elasticsearch 教程: 映射 ( Mapping )
20、Elasticsearch 教程: 分析 ( Analysis )
21、Elasticsearch 教程: 模块 ( Modules )
22、Elasticsearch 教程: 测试
23、Elasticsearch 教程: 版本升级
24、Elasticsearch 教程: 总结
本文档使用 MrDoc 发布
-
+
首页
23、Elasticsearch 教程: 版本升级
任何系统或软件,当需要升级到更新版本时,都会需要按照几个步骤来维护应用程序设置,配置,数据和其他内容 这些步骤是使应用程序在新系统中稳定或维护数据完整性 ( 防止数据损坏 ) 所必需的 以下是升级 Elasticsearch 的几个步骤 1、 阅读[https://www.elastic.co/](https://www.elastic.co/ "https://www.elastic.co/")发布的重大更改文档; 2、 在非生产环境中测试升级版本,如UAT,E2E,SIT或DEV环境; 3、 建议在升级到更高版本之前进行数据备份,因为如果没有数据备份,则无法回滚到之前的Elasticsearch版本; 4、 可以使用**完整集群重新启动**或**滚动升级**进行升级操作滚动升级适用于新版本(适用于2.x和更新版本)当使用滚动升级方法迁移时,服务不会中断; 5、 在迁移之前进行数据备份,并按照说明执行备份过程快照和还原模块可用于进行备份此模块用于拍摄索引或完整集群的快照,并可存储在远程存储库中; ### **快照和还原模块** ------------ 开始着手备份之前,先需要在 Elasticsearch 中注册快照服务 ```python PUT /_snapshot/backup1 "type": "fs", "settings": { ... repository settings ... } ``` 以上文本是对 `http://localhost:9200/_snapshot/backup1` 的 HTTP PUT 请求 你可以使用自己的远程服务器的 `IP` 地址而不是 `localhost` 而其余的文本是请求正文 我们使用共享文件系统 ( 类型:fs ) 进行备份时需要在每个主节点和数据节点中注册 我们只需要添加具有备份存储库路径的 `path.repo` 变量作为值 添加存储库路径后,需要重新启动节点,然后通过执行以下命令执行注册 ```python PUT http://localhost:9200/_snapshot/backup1 "type": "fs", "settings": { "location": "/mount/backups/backup1", "compress": true } ``` ### **完整集群重启** ------------ 完整集群重启升级包含以下步骤 1、 禁用分片分配并关闭节点; ```python PUT http://localhost:9200/_cluster/settings { "persistent": { "cluster.routing.allocation.enable": "none" } } # 比如将 0.90.x 升级到 1.x ,可以使用以下请求 PUT http://localhost:9200/_cluster/settings { "persistent": { "cluster.routing.allocation.disable_allocation": false, "cluster.routing.allocation.enable": "none" } } ``` 2、 对Elasticsearch进行同步刷新; ```python POST http://localhost:9200/_flush/synced ``` 3、 在所有节点上,杀掉所有Elasticsearch弹性服务; 4、 在所有节点上执行以下操作; ```python 1. 如果节点部署在 Debian 或 RedHat 系统上 使用 rmp 或 dpkg 通过安装新软件包来升级节点 注意不要覆盖配置文件 2. 在 Windows ( zip ) 或 UNIX ( tar ) 系统上 提取新版本而不覆盖 config 目录 我们可以从旧的安装中复制 config 目录,或更改新的安装的 path.conf 或 path.data 配置项 ``` 5、 从集群中的主节点(node.master设置为true且node.data设置为false的节点)开始重新启动节点; 等待一段时间来建立一个集群 这段时间内可以通过监视日志或使用以下请求进行检查 ```python GET http://localhost:9200/_cat/health GET http://localhost:9200/_cat/health ``` 6、 发起GET_cat/health请求监视群集的创建进程,并等待响应中出现yellow关键字; 当出现 yellow 关键字时响应内容如下 ```python 1451295971 17:46:11 elasticsearch yellow 1 1 5 5 0 0 5 0 - 50.0% ``` 7、 通过发起以下请求启用在步骤1中禁用的分片分配进程; ```python PUT http://localhost:9200/_cluster/settings { "persistent": { "cluster.routing.allocation.enable": "all" } } ``` 8、 如果将版本从0.90.x升级到1.x,请使用下面的请求; ```python PUT http://localhost:9200/_cluster/settings { "persistent": { "cluster.routing.allocation.disable_allocation": true, "cluster.routing.allocation.enable": "all" } } ``` ### **滚动升级** ------------ 滚动升级的步骤与完整集群重启一样,除了步骤 3 以外 此处,我们需要停止一个节点并进行升级 升级后,重新启动节点并为所有节点重复这些节点 启用分片分配过程后,可以通过以下请求监视它 ```python GET http://localhost:9200/_cat/recovery ```
李智
2025年3月17日 13:24
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码