美文网首页腾讯云Elasticsearch ServiceElasticsearch实践与分析
在线不停服迁移自建ES集群至腾讯云ES

在线不停服迁移自建ES集群至腾讯云ES

作者: bellengao | 来源:发表于2020-05-26 22:16 被阅读0次

背景

在之前的文章Elasticsearch跨集群数据迁移之离线迁移中,我们介绍了如何在离线场景下把自建的ES集群或者在其它云厂商购买的ES集群迁移至腾讯云的ES, 但是如果在迁移过程中业务不能中断或者不能够暂停写操作,就必须采用其它的方案进行迁移。2020年5月份,腾讯云ES上线的新版本中,对集群节点所在的网络进行了优化,使得集群节点能够反向访问到用户VPC下的ip,因此采用集群融合的方式可以实现在线不停服地迁移自建ES集群至腾讯云ES。

整体方案

首先要确定腾讯云上自建的ES集群节点所在的VPC,然后再腾讯云官网购买一个相同VPC下的ES集群,通过修改新集群的配置把两个集群融合成一个集群,利用ES的rebalance能力把自建ES节点上的数据迁移至腾讯云ES的节点上,最后剔除掉自建ES的节点,实现平滑迁移。

实施步骤

购买腾讯云ES

在腾讯云官网控制台上购买ES, 需要特别注意以下几点:

  1. 选择和自建ES相同大版本的ES,高级特性根据需要可选基础版和开源版,注意白金版在当前场景下不可选,在完成迁移后可以在腾讯云ES控制台升级到白金版


    image
  2. 选择和自建ES集群节点所在的VPC


    image
  3. 填写集群配置名,填入自建ES集群的名称(cluster_name), 该功能需要对腾讯云账号开启白名单方可使用


    image

集群融合

需要提供以下信息给腾讯云ES产品的技术支持人员:

  1. 自建ES集群的节点地址列表如1.1.1.1:9200,2.2.2.2:9200;另外如果自建ES集群使用了类似于Search Guard的插件用于实现安全防护和权限校验,或者集群包含自购的X-PACK License并且开启了security功能,则需要将安全防护功能关闭才可以进行集群融合
  2. 新建的腾讯云ES集群的id

之后腾讯云ES产品的后台技术人员会通过修改新集群的配置来融合两个集群,融合过程中业务使用ES不受影响。

后台对自建ES集群和腾讯云ES集群进行融合的具体操作为:

  1. 融合前检查
    • 检查自建ES集群是否开启security
    • 检查在腾讯云ES集群节点上是否可以访问通自建ES集群的节点endpoint
    • 检查在自建ES节点上是否可以访问腾讯云ES集群的节点
  2. 修改腾讯云ES集群的配置进行融合
    • 修改discovery.zen.ping.unicast.hosts参数,重启集群
  3. 观察两个集群是否融合为一个集群
  4. 执行数据迁移,通过PUT _cluster/settings API修改cluster.routing.allocation.exclude._name属性为自建ES集群节点的名称列表
  5. 观察数据迁移情况
  6. 数据迁移完毕后,在业务侧修改ES集群地址为腾讯云ES集群的vpc内网地址(先验证vpc内网地址访问无误,然后在业务压力小时切换ES集群地址)
  7. 自建ES节点的节点可以下线,修改discovery.zen.ping.unicast.hosts配置为新集群的地址

相关文章

  • 在线不停服迁移自建ES集群至腾讯云ES

    背景 在之前的文章Elasticsearch跨集群数据迁移之离线迁移中,我们介绍了如何在离线场景下把自建的ES集群...

  • Elasticsearch:跨集群数据迁移之离线迁移

    跨集群数据迁移 用户在腾讯云上自建的ES集群或者在其它云厂商购买的ES集群,如果要迁移至腾讯云ES,用户可以根据自...

  • ES:reindex中的坑

    吐槽一个ES-reindex迁移的大坑 在做ES跨集群迁移的时候,用到了ES的reindex进行数据迁移,查了很多...

  • Elasticsearch数据迁移与集群容灾

    本文讨论如何跨集群迁移ES数据以及如何实现ES的同城跨机房容灾和异地容灾。 跨集群数据迁移 在ES的生产实践中,往...

  • elasticsearch迁移

    查询了一些es迁移相关的文章,暂时列到这里,备用ElasticSearch集群迁移和升级总结发布个es迁移工具:e...

  • es迁移索引数据合并

    es集群迁移有两种方式使用 1.先在原来的es集群将迁移当天的索引文件名reindex,然后做快照,然后用快照恢复...

  • Redis 异构集群数据迁移

    场景:自建Redis集群线上的数据和服务迁移到腾讯云Redis 因为云redis不是单独的机器,没有入口把数据直接...

  • ES集群数据迁移

    记录一次ES数据库的迁移 起因是由于老库中的模板映射不是我们想要的模板,需要将数据迁移到新的ES集群中,新集群已经...

  • 记一次向Elasticsearch开源社区贡献代码的经历

    背景 在针对线上ES集群进行运维值班的过程中,有用户反馈使用自建的最新的7.4.2版本的ES集群,索引的norma...

  • 更换ElasticSearch版本6.3-7.6导致的问题

    项目中使用的es需要迁移,之前是由亚马逊提供的服务现在改为使用运维自建库,之前AWS提供的es版本是6.3,现在运...

网友评论

    本文标题:在线不停服迁移自建ES集群至腾讯云ES

    本文链接:https://www.haomeiwen.com/subject/tmubahtx.html