当前位置:网站首页>Didi elasticsearch cluster cross version upgrade and platform reconfiguration
Didi elasticsearch cluster cross version upgrade and platform reconfiguration
2020-11-06 01:15:00 【InfoQ】
Reading guide : Not long ago , sound of dripping water ES The team will maintain 30 Multiple ES colony ,3500 Multiple ES node ,8PB The data of , from 2.3.3 Seamless upgrade to 6.6.1. Under the premise of basically zero impact and change on user query writing , It's solved ES Cross major protocol incompatibility 、 Incompatible file format 、mapping Incompatibility, etc , The whole process is completely transparent to most users . At the same time, it's done Arius Architecture upgrade , The single machine query performance has been improved 40%, The whole cluster cpu falling 10%, write in tps promote 30%, The utilization rate of cluster resources has been improved 20%、0 fault 、 The cost of operation and maintenance has decreased 60% The achievement of .
This paper will systematically introduce didi from 2.3.3 Upgrade to across large versions 6.6.1 Problems encountered in the process and solutions , And in the search platform construction process of systematic thinking .
01 Background introduction
1. The cluster size
At present, Didi uses ES The version is 2.3.3, The number of clusters is 40 Multiple , Node scale has 3500+, The total capacity of the cluster is 8PB.
2. Business scale
1200 Multiple platform applications are using ES,30 Multiple core applications are using ES, Written in TPS Yes 1500W, Of the query QPS Yes 25W.
02 Problem analysis
For the above scale ES colony , from 2.3.3 Upgrade to 6.X edition , The small version will be determined based on the results of the final analysis , Potential problems need to be analyzed and distinguished .
1. Problem analysis
First of all, it analyzes the four problem areas :
- Engine side : As a result of 2.3.3 Upgrade to 6.X edition , The version gap is too big , Not compatible in file format or protocol , So you can't roll in place and upgrade directly , Need to double write relocation and upgrade , It costs a lot of machines to get involved
- The user side :6.X The version gradually does not support TCP Interface , Therefore, users need to adapt and upgrade ; There are also some differences between query and return value , If the user side adapts , Will greatly affect the progress of the upgrade
- Resource side : Because you can't scroll directly in place, upgrade directly , Need to double write using a lot of machines , But we can't provide the machines needed to upgrade , If resources cannot be guaranteed during the upgrade process , That will also greatly affect the progress of the upgrade
- Operation side : How to control the operation and maintenance of the new version of multi cluster ? How to verify the results of the upgrade ? How to guarantee the efficiency and quality of query ? All these problems need to be considered
Link to the original text :【https://www.infoq.cn/article/J6BFzWfJA0cbmgzN7R1w】. Without the permission of the author , Prohibited reproduced .
版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
边栏推荐
猜你喜欢
随机推荐
DTU连接经常遇到的问题有哪些
GBDT与xgb区别,以及梯度下降法和牛顿法的数学推导
7.3.1 file upload and zero XML registration interceptor
Menu permission control configuration of hub plug-in for azure Devops extension
技術總監7年經驗,告訴大家,【拒絕】才是專業
如果前端不使用SPA又能怎样?- Hacker News
连肝三个通宵,JVM77道高频面试题详细分析,就这?
微信小程序:防止多次点击跳转(函数节流)
X Window System介紹
词嵌入教程
条码生成软件如何隐藏部分条码文字
分布式ID生成服务,真的有必要搞一个
链表的常见算法总结
7.2.1 cache configuration of static resources
【QT】 QThread部分原始碼淺析
Cos start source code and creator
遞迴思想的巧妙理解
8.1.1 handling global exceptions through handlerexceptionresolver
前端模組化簡單總結
vite + ts 快速搭建 vue3 專案 以及介紹相關特性