当前位置:网站首页>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]所创,转载请带上原文链接,感谢
边栏推荐
- nlp模型-bert从入门到精通(二)
- 6.7 theme resolver theme style parser (in-depth analysis of SSM and project practice)
- 从零学习人工智能,开启职业规划之路!
- Vue.js移动端左滑删除组件
- vite + ts 快速搭建 vue3 專案 以及介紹相關特性
- 【C/C++ 1】Clion配置与运行C语言
- 如果前端不使用SPA又能怎样?- Hacker News
- 【新閣教育】窮學上位機系列——搭建STEP7模擬環境
- GBDT与xgb区别,以及梯度下降法和牛顿法的数学推导
- C language 100 question set 004 - statistics of the number of people of all ages
猜你喜欢
python jieba分词(结巴分词)、提取词,加载词,修改词频,定义词库
PLC模拟量输入和数字量输入是什么
Jmeter——ForEach Controller&Loop Controller
【jmeter】實現介面關聯的兩種方式:正則表示式提取器和json提取器
Pattern matching: The gestalt approach一种序列的文本相似度方法
2018个人年度工作总结与2019工作计划(互联网)
Gradient understanding decline
Pycharm快捷键 自定义功能形式
Kitty中的动态线程池支持Nacos,Apollo多配置中心了
简直骚操作,ThreadLocal还能当缓存用
随机推荐
Menu permission control configuration of hub plug-in for azure Devops extension
文本去重的技术方案讨论(一)
自然语言处理-搜索中常用的bm25
6.9.1 flashmapmanager initialization (flashmapmanager redirection Management) - SSM in depth analysis and project practice
Microservices: how to solve the problem of link tracing
Asp.Net Core learning notes: Introduction
哇,ElasticSearch多字段权重排序居然可以这么玩
微服務 - 如何解決鏈路追蹤問題
JVM内存区域与垃圾回收
JetCache埋点的骚操作,不服不行啊
網路程式設計NIO:BIO和NIO
遞迴思想的巧妙理解
python过滤敏感词记录
普通算法面试已经Out啦!机器学习算法面试出炉 - kdnuggets
中国提出的AI方法影响越来越大,天大等从大量文献中挖掘AI发展规律
业务策略、业务规则、业务流程和业务主数据之间关系 - modernanalyst
Python + Appium 自動化操作微信入門看這一篇就夠了
如何对Pandas DataFrame进行自定义排序
Electron应用使用electron-builder配合electron-updater实现自动更新
通过深层神经网络生成音乐