当前位置: 首页 > news >正文

Elasticsearch 参考指南(升级前重新索引)

升级前重新索引

Elasticsearch可以读取上一个主要版本中创建的索引,旧的索引必须重新索引或删除。Elasticsearch 6.x可以使用Elasticsearch 5.x中创建的索引,但不能使用Elasticsearch 2.x或之前创建的索引,Elasticsearch 5.x可以使用Elasticsearch 2.x中创建的索引,但不能使用1.x或之前创建的索引。

如果存在不兼容的索引,Elasticsearch节点将无法启动。

要升级包含在2.x中创建的索引的Elasticsearch 5.x集群,必须在升级到6.x之前重新索引或删除它们。

要升级一个运行2.x的Elasticsearch集群,有两个选项:

  • 执行完整的集群重启升级到5.6,重新索引2.x索引,然后执行滚动升级到6.x,如果你的Elasticsearch 2.x集群包含在2.x之前创建的索引,那么你必须在升级到5.6之前删除或重新索引它们,有关从2.x升级到5.6的更多信息,请参阅Elasticsearch 5.6参考资料中的升级Elasticsearch。
  • 创建一个新的6.x集群,从远程重新索引,直接从2.x集群导入索引。

要升级Elasticsearch 1.x集群,有两个选项:

  • 执行完整的集群重启升级到Elasticsearch 2.4.x,并重新索引或删除1.x索引,然后,执行完整的集群重启升级到5.6,重新索引或删除2.x索引,最后,执行滚动升级到6.x。有关从1.x升级到2.4的更多信息,请参见Elasticsearch 2.4参考资料中的升级Elasticsearch,有关从2.4升级到5.6的更多信息,请参阅Elasticsearch 5.6参考资料中的升级Elasticsearch。
  • 创建一个新的6.x集群,从远程重新索引,直接从1.x集群导入索引。

升级基于时间的索引

如果你使用基于时间的索引,你可能不需要将之前的5.x索引向前推进到6.x,基于时间的索引中的数据通常会随着时间的推移而变得不那么有用,并且随着它们的时间期限超过你的保留期而被删除。

除非你的保留期非常长,否则你可以等待升级到6.x,直到你所有的前5.x索引都被删除。

就地重新索引

用reindex API手动重新索引你的旧索引:

  1. 创建一个新索引并从旧索引复制映射和设置。
  2. refresh_interval设置为-1,并且number_of_replicas设置为0,以实现高效的重新索引。
  3. 使用Reindex API将旧索引中的所有文档重新索引到新索引。
  4. refresh_intervalnumber_of_replicas重置为旧索引中使用的值。
  5. 等待索引状态变为green
  6. 在单个更新别名请求中:

    • 删除旧索引。
    • 向新索引添加具有旧索引名称的别名。
    • 将旧索引上存在的任何别名添加到新索引中。

迁移援助和升级工具

X-Pack 5.6提供了迁移援助和升级工具,简化了重新索引和升级到6.x,这些工具在X-Pack试用版和基本许可中是免费的,你可以使用它们来升级,无论X-Pack是不是你的Elastic Stack的一个常规部分,有关更多信息,请参阅http://www.elastic.co/guide/en/elastic-stack/6.4/upgrading-elastic-stack.html。

从远程集群重新索引

你可以使用reindex从远程将索引从旧集群迁移到新的6.x集群,这使你可以在不中断服务的情况下将之前的5.6集群迁移到6.x。

Elasticsearch提供向后兼容支持,可以将以前的主要版本的索引升级到当前的主要版本,跳过主要版本意味着你必须自己解决所有向后兼容性问题。

要迁移你的索引:

  1. 在旧集群旁边设置一个新的6.x集群,通过将旧集群添加到elasticsearch.yml中的reindex.remote.whitelist,使其能够访问旧集群:

    reindex.remote.whitelist: oldhost:9200
    新的集群不必完全扩展,当你迁移索引并将负载转移到新集群时,你可以向新集群添加节点,并从旧集群中删除节点。
  2. 对于需要迁移到6.x集群的每个索引:

    • 用适当的映射和设置在6.x中创建一个新的索引,将refresh_interval设置为-1,并将number_of_replicas设置为0,以便更快地重新索引。
    • 从远程重新索引以将文档从旧索引拉到新的6.x索引。

      POST _reindex
      {
       "source": {
         "remote": {
           "host": "http://oldhost:9200",
           "username": "user",
           "password": "pass"
         },
         "index": "source",
         "query": {
           "match": {
             "test": "data"
           }
         }
       },
       "dest": {
         "index": "dest"
       }
      }
    • 如果通过将wait_for_completion设置为false在后台运行重新索引作业,那么重新索引请求将返回一个task_id,你可以使用task API用来监控重新索引作业的进度:GET _tasks/TASK_ID
    • 当重新索引作业完成时,将refresh_intervalnumber_of_replicas设置为所需的值(默认设置是30s1)。
    • 一旦复制完成,新索引的状态为green,你就可以删除旧索引。

下一篇:多索引

相关文章:

  • FreeWheel业务系统微服务化过程经验分享
  • CENTOS7 Python3.7安装 scipy
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 函数柯里化
  • 前端页面注意事项
  • javascript 解决跨越问题
  • 基于axios的vue插件,让http请求更简单
  • 解决大并发的问题
  • 关于bootstrap框架美化的实例教程(python)
  • 如何使用Windows Library文件进行持久化
  • HTNL5列表,表格,音频,视频,iframe内联框架
  • forEach,for...of,map与asycn/await
  • Synchronized 关键字使用、底层原理、JDK1.6 之后的底层优化以及 和ReenTrantLock 的对比...
  • jchdl - GSL实例 - DFlipFlop(D触发器)
  • webgl滤镜--会呼吸的痛
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Redash本地开发环境搭建
  • SQLServer之创建显式事务
  • thinkphp5.1 easywechat4 微信第三方开放平台
  • uva 10370 Above Average
  • vue.js框架原理浅析
  • 从0到1:PostCSS 插件开发最佳实践
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 京东美团研发面经
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • 使用Swoole加速Laravel(正式环境中)
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 一份游戏开发学习路线
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • 我们雇佣了一只大猴子...
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .NET 2.0中新增的一些TryGet,TryParse等方法
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Core6.0 MVC+layui+SqlSugar 简单增删改查
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET 动态调用WebService + WSE + UsernameToken
  • .net打印*三角形
  • .net中我喜欢的两种验证码
  • /bin、/sbin、/usr/bin、/usr/sbin
  • @Repository 注解
  • @RequestBody与@ModelAttribute
  • [20150904]exp slow.txt
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • [ArcPy百科]第三节: Geometry信息中的空间参考解析
  • [BJDCTF2020]The mystery of ip1
  • [BZOJ1040][P2607][ZJOI2008]骑士[树形DP+基环树]
  • [C++]STL之map
  • [C++]命名空间等——喵喵要吃C嘎嘎
  • [FTP]pureftp部署和优化