你可以的,加油

Elasticsearch 2.3.4升级到7.x版本

Elasticsearch | 作者 waywu | 发布于2019年11月04日 | 阅读数:3673

求教:
集群有6个节点,版本是2.3.4,索引是按每个月建一个,每个大小大概320GB;
考虑到2.x和7.x的跨度有些大及一些兼容性问题,因为涉及到的业务方比较多,该如何能最大化做到业务无感知的升级操作呢,以及升级成功后的兼容性验证;
已邀请:

printf_uck - 1024

赞同来自:

...
你这个最好新建一个7.X的集群,然后全量迁移数据至新集群,挨个升级,一个个版本中间过渡,坑太大;
无论哪种方法业务肯定会感知,因为7.X去掉了type

Jea - 一只猿

赞同来自:

跨度太大了 @printf_uck的说法是对的,版本差的有点大, 想平滑升级可能行不大。
如果一定要求业务方无感知,提供一个中间代理吧,做好转换,业务方过来的最终还是要转成dsl查询的,把dsl解析对应再转换,消耗应该能控制到可接受的范围内。
另外,建议不这么做,让业务方稍微更改一下,毕竟现在基本业务方也有封装,二封的改动不大。

God_lockin

赞同来自:

用loadbalance就还行吧,只要没有index-type 1对多的情况,普通的dsl的差别不是很大,主要问题在于一个是索引里不能指定type了,mapping有些不兼容了(比如string和text),以及spring的某些client(如果有)版本之间是不兼容的
匿名用户

匿名用户

赞同来自:

建议不要用升级的方式。这种升级方式就是demo 产品。
 
还是搭建新集群,当然,业务如果实现了 路由那就更好了,比如客户端连接的是代理,
而不是es 集群的ip,这样的话直接切换到新集群就行了。
 
新数据直接放入新集群,老数据后台同步到新集群。
 

要回复问题请先登录注册