由于公司需要统一整合ES服务,最近开始着手迁移。迁移方案主要分为物理迁移、本地升级、逻辑迁移三种。物理迁移,就是冷拷ES数据到新集群,适合可以停机升级的业务;
本地升级,是在原集群上升级,不涉及到数据迁移,但也是需要停机的;
逻辑迁移,使用迁移工具从老集群将数据迁移到新集群,同时业务双写;
逻辑迁移的工具有很多,因为我们提供ES服务的同时,也提供了logstash的服务。所以逻辑迁移采用了logstash作为数据迁移工具。
前期迁移的几套集群没出现问题,速度很稳定。但是遇到了一套ES集群,启用了IK分词,问题就来了。
原集群的版本是6.4.2,使用了IK分词,版本是6.4.2。新集群的版本是6.8.0,IK使用的也是对应的6.8.0版本。但是迁移数据的过程中出现了问题。
[2020-08-03T13:56:10,894][WARN ][logstash.outputs.elasticsearch] Could not index event to Elasticsearch. {:status=>400, :action=>["index", {:_id=>"91889274", :_index=>"toutiao", :_type=>"news", :routing=>nil}, #<:event:0x5fc60d63>], :response=>{"index"=>{"_index"=>"toutiao", "_type"=>"news"