当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- 通过深层神经网络生成音乐
- 01 . Go语言的SSH远程终端及WebSocket
- Python爬蟲實戰詳解:爬取圖片之家
- 7.3.1 file upload and zero XML registration interceptor
- 被老程式設計師壓榨怎麼辦?我不想辭職
- 微信小程序:防止多次点击跳转(函数节流)
- (1)ASP.NET Core3.1 Ocelot介紹
- 自然语言处理之命名实体识别-tanfordcorenlp-NER(一)
- Menu permission control configuration of hub plug-in for azure Devops extension
- 普通算法面试已经Out啦!机器学习算法面试出炉 - kdnuggets
猜你喜欢
随机推荐
mac 安装hanlp,以及win下安装与使用
TF flags的简介
7.2.1 cache configuration of static resources
哇,ElasticSearch多字段权重排序居然可以这么玩
不吹不黑,跨平臺框架AspNetCore開發實踐雜談
谁说Cat不能做链路跟踪的,给我站出来
TensorFlow2.0 问世,Pytorch还能否撼动老大哥地位?
How to demote a domain controller in Windows Server 2012 and later
安装Anaconda3 后,怎样使用 Python 2.7?
接口压力测试:Siege压测安装、使用和说明
3分钟读懂Wi-Fi 6于Wi-Fi 5的优势
mac 下常用快捷键,mac启动ftp
Cocos Creator 原始碼解讀:引擎啟動與主迴圈
(1) ASP.NET Introduction to core3.1 Ocelot
如何将分布式锁封装的更优雅
8.1.1 handling global exceptions through handlerexceptionresolver
DRF JWT authentication module and self customization
Python爬蟲實戰詳解:爬取圖片之家
Anomaly detection method based on SVM
利用 AWS SageMaker BlazingText 对不均衡文本进行多分类







