当前位置:网站首页>滴滴 Elasticsearch 集群跨版本升级与平台重构之路
滴滴 Elasticsearch 集群跨版本升级与平台重构之路
2020-11-06 01:15:00 【InfoQ】
导读: 前不久,滴滴ES团队将维护的30多个ES集群,3500多个ES节点,8PB的数据,从2.3.3跨大版本无缝升级到6.6.1。在对用户查询写入基本零影响和改动的前提下,解决了ES跨大版本协议不兼容、文件格式不兼容、mapping不兼容等难题,整个过程对绝大部分用户完全透明。同时还完成了Arius的架构升级,取得了单机查询性能提升40%,整体集群cpu下降10%,写入tps提升30%,集群资源使用率提升20%、0故障、运维成本下降60%的成绩。
本文将系统的介绍滴滴在从2.3.3跨大版本升级到6.6.1过程中的遇到的问题和解决方案,以及在搜索平台建设过程中的体系化思考。
01 背景介绍
1. 集群规模
目前滴滴使用的ES版本是2.3.3,集群个数有40多个,节点规模有3500+,集群总容量有8PB。
2. 业务规模
1200多个平台应用方在使用ES,30多个核心应用在使用ES,写入的TPS有1500W,查询的QPS有25W。
02 问题分析
针对以上规模的ES集群,从2.3.3升级到6.X版本,小版本会根据最后分析的结果确定,需要对潜在可能的问题进行分析和区分。
1. 问题分析
主要先从四大问题域进行区分分析:
- 引擎侧:由于从2.3.3升级到6.X版本,版本差距过大,在文件格式和协议上都不兼容,因此无法进行原地滚动直接升级,需要双写搬迁升级,这样会耗费大量的机器去参与其中
- 用户侧:6.X版本开始逐渐的不支持TCP接口,因此需要用户适配和升级;查询和返回值也有一定差异,如果用户侧做适配,会极大影响升级的进度
- 资源侧:由于无法直接原地滚动直接升级,需要双写使用大量的机器,但是无法提供升级所需要的机器,如果升级过程中资源无法得到保障,那也会极大影响升级的进度
- 操作侧:新版本的多集群如何进行运维管控?升级的结果如何验证?查询的效率和质量如何保障和保证的?这些问题都需要考虑
原文链接:【https://www.infoq.cn/article/J6BFzWfJA0cbmgzN7R1w】。未经作者许可,禁止转载。
版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://www.infoq.cn/article/J6BFzWfJA0cbmgzN7R1w?utm_source=rss&utm_medium=article
边栏推荐
- windows10 tensorflow(二)原理实战之回归分析,深度学习框架(梯度下降法求解回归参数)
- 结构化数据中的存在判断问题
- 读取、创建和运行多个文件的3个Python技巧
- 6.7 theme resolver theme style parser (in-depth analysis of SSM and project practice)
- 如何选择分类模型的评价指标
- Python爬蟲實戰詳解:爬取圖片之家
- C语言中字符字符串以及内存操作函数
- Using tensorflow to forecast the rental price of airbnb in New York City
- 文本去重的技术方案讨论(一)
- 计算机TCP/IP面试10连问,你能顶住几道?
猜你喜欢
随机推荐
6.9.1 flashmapmanager initialization (flashmapmanager redirection Management) - SSM in depth analysis and project practice
html
Skywalking系列博客1-安装单机版 Skywalking
字符串的常见算法总结
使用ES5实现ES6的Class
阻塞队列之LinkedBlockingQueue分析
ETCD核心機制解析
面经手册 · 第15篇《码农会锁,synchronized 解毒,剖析源码深度分析!》
nlp模型-bert从入门到精通(一)
文本去重的技术方案讨论(一)
JVM内存区域与垃圾回收
Ubuntu18.04上安裝NS-3
經典動態規劃:完全揹包問題
看完这篇就看懂了很多webpack脚手架
VuePress的使用
我们编写 React 组件的最佳实践
结构化数据中的存在判断问题
Skywalking系列博客5-apm-customize-enhance-plugin插件使用教程
词嵌入教程
微信小程序:防止多次点击跳转(函数节流)