【Elasticsearch】Elasticsearch 跨機房部署

Elasticsearch 集群》系列,共包含以下文章:

  • 1?? 冷熱集群架構
  • 2?? 合適的鍋炒合適的菜:性能與成本平衡原理公式解析
  • 3?? ILM(Index Lifecycle Management)策略詳解
  • 4?? Elasticsearch 跨機房部署
  • 5?? 快照與恢復功能詳解
  • 6?? Elasticsearch 快照恢復 API 參數詳解
  • 7?? 安全地刪除快照倉庫、快照
  • 8?? 快照生命周期管理 SLM(理論篇)
  • 9?? 快照生命周期管理 SLM(實戰篇)
  • 🔟 跨集群檢索(Cross-Cluster Search)

😊 如果您覺得這篇文章有用 ?? 的話,請給博主一個一鍵三連 🚀🚀🚀 吧 (點贊 🧡、關注 💛、收藏 💚)!!!您的支持 💖💖💖 將激勵 🔥 博主輸出更多優質內容!!!

Elasticsearch 跨機房部署

  • 1.關鍵因素考量
    • 1.1 網絡因素
    • 1.2 集群配置
    • 1.3 硬件與架構
    • 1.4 性能優化
    • 1.5 容災與恢復
    • 1.6 監控與運維
    • 1.7 成本考量
  • 2.跨機房部署實際案例:電商平臺全球搜索服務
    • 2.1 業務背景
    • 2.2 集群架構設計
      • 2.2.1 機房布局
      • 2.2.2 關鍵配置
      • 2.2.3 索引策略
      • 2.2.4 跨集群復制(CCR)配置
    • 2.3 實際運行效果
      • 2.3.1 性能指標
      • 2.3.2 故障處理實例
    • 2.4 經驗總結

1.關鍵因素考量

在跨機房和跨機架部署 Elasticsearch 時,需要考慮以下關鍵因素以確保集群的 穩定性性能可靠性

1.1 網絡因素

  • 網絡延遲:機房之間的網絡延遲應盡可能低(建議 <10ms< 10ms<10ms)。
  • 帶寬容量:確保有足夠帶寬處理節點間通信和數據傳輸。
  • 網絡穩定性:避免頻繁的網絡抖動和中斷。
  • 跨機房專線:考慮使用專用網絡連接而非公共互聯網。

1.2 集群配置

  • 分片分配感知:配置 cluster.routing.allocation.awareness.attributes 實現機架/機房感知。
  • 副本策略:確保每個分片的副本分布在不同的機架/機房。
  • 最小主節點數:設置 discovery.zen.minimum_master_nodes 防止腦裂(通常為 (master節點數/2)+1 )。

1.3 硬件與架構

  • 機架/機房標記:為節點配置明確的機架/機房屬性(如 node.attr.rack_id)。
  • 主節點分布:將主合格節點均勻分布在不同的機架/機房。
  • 負載均衡:確保數據節點在各機架/機房間均衡分布。

1.4 性能優化

  • GC 調優:因跨機房通信增加延遲,需優化垃圾回收設置。
  • 索引刷新間隔:可適當增加 refresh_interval 減少頻繁刷新。
  • 批量操作:增加批量操作大小以減少跨機房請求次數。

1.5 容災與恢復

  • 快照策略:定期備份到異地機房。
  • 故障轉移測試:定期模擬機房故障測試恢復流程。
  • 跨機房復制:考慮使用 CCR(跨集群復制)實現異地容災。

1.6 監控與運維

  • 監控網絡指標:密切監控跨機房延遲、丟包率等。
  • 日志集中收集:將各機房日志集中到統一位置分析。
  • 運維工具:確保運維工具能跨機房操作。

1.7 成本考量

  • 帶寬成本:評估跨機房數據傳輸成本。
  • 硬件成本:考慮是否需要增加副本數提高容錯能力。
  • 維護成本:跨機房部署增加的運維復雜度。

通過綜合考慮這些因素,可以構建一個既具備高可用性又能保持良好性能的跨機房 Elasticsearch 集群。

2.跨機房部署實際案例:電商平臺全球搜索服務

2.1 業務背景

某大型跨境電商平臺需要為其全球用戶提供商品搜索服務,要求:

  • 1?? 亞洲、歐洲、美洲用戶訪問延遲均低于 200ms200ms200ms
  • 2?? 單個機房故障不影響搜索服務可用性。
  • 3?? 支持跨地區商品數據實時搜索。

2.2 集群架構設計

2.2.1 機房布局

[北京機房] - 主數據中心├─ 機架A (10個數據節點)├─ 機架B (10個數據節點)└─ 機架C (3個主節點 + 2個協調節點)[法蘭克福機房] - 歐洲災備中心├─ 機架A (5個數據節點)└─ 機架B (3個主節點 + 2個協調節點)[弗吉尼亞機房] - 美洲災備中心├─ 機架A (5個數據節點)└─ 機架B (3個主節點 + 2個協調節點)

2.2.2 關鍵配置

elasticsearch.yml 部分配置:

# 北京節點配置示例
cluster.name: global-ecommerce-search
node.attr.zone: bj
node.attr.rack: rack_a  # 或rack_b/rack_c
discovery.seed_hosts: ["bj-es01:9300", "fra-es01:9300", "vir-es01:9300"]
cluster.initial_master_nodes: ["bj-master01", "bj-master02", "fra-master01"]

跨機房路由設置:

PUT _cluster/settings
{"persistent": {"cluster.routing.allocation.awareness.attributes": "zone,rack","cluster.routing.allocation.awareness.force.zone.values": "bj,fra,vir","cluster.remote.bj.seeds": "bj-es01:9300","cluster.remote.fra.seeds": "fra-es01:9300","cluster.remote.vir.seeds": "vir-es01:9300"}
}

2.2.3 索引策略

商品索引配置:

PUT products
{"settings": {"number_of_shards": 12,"number_of_replicas": 2,"auto_expand_replicas": "0-1","routing.allocation.include.zone": "bj,fra,vir"},"mappings": {...}
}

2.2.4 跨集群復制(CCR)配置

PUT _ccr/auto_follow/global_products
{"remote_cluster": "bj","leader_index_patterns": ["products"],"follow_index_pattern": "{{leader_index}}-follower"
}

2.3 實際運行效果

2.3.1 性能指標

指標北京本地訪問歐洲跨機房訪問美洲跨機房訪問
平均查詢延遲45ms45ms45ms120ms120ms120ms150ms150ms150ms
索引吞吐量12,00012,00012,000 docs/s8,0008,0008,000 docs/s7,5007,5007,500 docs/s
故障轉移時間-28s28s28s32s32s32s

2.3.2 故障處理實例

事件:? 2023 年北京機房網絡中斷 15 分鐘。

系統響應

  • 自動將流量切換到 法蘭克福 機房。
  • 協調節點自動將寫入請求路由到 弗吉尼亞 機房。
  • 網絡恢復后自動同步數據差異。
  • 用戶感知到的服務中斷時間為 323232 秒。

2.4 經驗總結

  • 主節點分布:保持奇數個主節點且分布在多個機房(采用 3-2-2 分布)。
  • 數據冷熱分離:將熱數據主要存放在北京機房,其他機房存放溫數據。
  • 動態調整:根據時區自動調整各機房副本數(亞洲白天增加北京副本)。
  • 監控重點
    • 跨機房網絡延遲(GET _nodes/stats/transport
    • 分片同步狀態(GET _cat/recovery?v
    • 跨集群復制延遲(GET _ccr/stats

這個方案成功支持了平臺日均 5 億次搜索請求,在雙11大促期間承受了 3 倍流量增長,同時保證了 99.99%99.99\%99.99% 的可用性。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/90386.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/90386.shtml
英文地址,請注明出處:http://en.pswp.cn/web/90386.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

立式數控深孔鉆的工藝及光學檢測方法 —— 激光頻率梳 3D 輪廓檢測

引言立式數控深孔鉆作為深孔加工的關鍵設備&#xff0c;其工藝水平直接影響零件加工質量。深孔加工面臨排屑、散熱等挑戰&#xff0c;而光學檢測技術的發展為深孔加工精度控制提供了新途徑。激光頻率梳 3D 輪廓檢測技術與立式數控深孔鉆工藝的結合&#xff0c;實現了深孔加工與…

【YOLO系列】YOLOv4詳解:模型結構、損失函數、訓練方法及代碼實現

YOLOv4詳解&#xff1a;模型結構、損失函數、訓練方法及代碼實現 motivation YOLO系列作者Joseph Redmon與Alexey Bochkovskiy致力于解決目標檢測領域的核心矛盾&#xff1a;精度與速度的平衡。YOLOv4的誕生源于兩大需求&#xff1a; 工業落地&#xff1a;在移動端/邊緣設備…

chromedriver下載與安裝方法

chromedriver下載地址&#xff1a; 版本在&#xff1a;http://chromedriver.storage.googleapis.com/index.html 這是下載后&#xff1a; 把exe文件復制到瀏覽器的安裝目錄下 把exe文件復制到python的安裝目錄下 配置環境變量:此電腦→右擊屬性→高級系統設置→環境變量→用戶…

基于QT(C++)實現(圖形界面)選課管理系統

選課管理系統1 概述1.1 課程設計目的和意義根據課程大綱設定&#xff0c;面向對象課程設計的目的是&#xff1a;&#xff08;1&#xff09;理解面向對象的基本思想和三大機制&#xff0c;掌握基于 C 語法的面向對象的基 本概念和開發模式&#xff0c;熟練運用面向對象思維模式…

【阿里云-ACP-1】疑難題解析

1.彈性伸縮 AS 在企業中有廣泛的應用場景,不僅適合業務量不斷波動的應用程序,同時也適合業務量穩定的應用程序。以下關于彈性伸縮的使用說法正確的是( ) 選項內容 A 彈性伸縮可以用于云數據庫 RDS 的自動擴容 B 彈性伸縮支持自動將 ECS 實例或 ECI 實例添加到 Memcache 實…

NLP:seqtoseq英譯法案例

本文目錄&#xff1a;一、案例概述二、數據集三、案例步驟&#xff08;一&#xff09;導入工具包和工具函數&#xff08;二&#xff09;數據預處理&#xff08;三&#xff09;構建數據源對象&#xff08;四&#xff09;構建數據迭代器&#xff08;五&#xff09;構建基于GRU的編…

docker的準備與部署

docker的重復使用bilibli 黑馬視頻 方便查看docker容器。設置格式通過官網dock查看格式命令 命令別名&#xff0c;簡化輸入

Java 大視界 -- Java 大數據在智能教育自適應學習路徑規劃與學習效果強化中的應用(362)

Java 大視界 -- Java 大數據在智能教育自適應學習路徑規劃與學習效果強化中的應用(362) 引言: 正文: 一、Java 構建的智能教育數據架構 1.1 多維度學習數據實時采集 1.2 知識圖譜構建與知識點關聯 二、Java 驅動的自適應學習路徑規劃 2.1 多模型融合的路徑生成 2.2 學習效果…

2.1 為什么定義tensor數據結構?

PyTorch選擇定義Tensors而非直接使用NumPy進行運算和數據處理&#xff0c;主要是因為Tensors在功能、性能和場景適配性上更貼合深度學習的需求。以下是關鍵原因分析&#xff1a; 1. 自動求導與計算圖支持 核心差異&#xff1a;PyTorch的Tensors在運算時會自動構建計算圖&#x…

Qt Quick 3D渲染

Qt Quick 3D是Qt框架中用于創建3D圖形界面的強大模塊&#xff0c;它提供了聲明式的QML API&#xff0c;使得開發者無需深入底層圖形API就能構建復雜的3D場景。本文將全面介紹Qt Quick 3D的核心概念和技術細節&#xff0c;包括3D場景坐標系統、場景環境設置、光照與材質系統、相…

筆試——Day17

文章目錄第一題題目思路代碼第二題題目&#xff1a;思路代碼第三題題目&#xff1a;思路代碼第一題 題目 小樂樂改數字 思路 模擬 當前位置為偶數時&#xff0c;改為0&#xff1b;否則改為1記得取出前導0&#xff1b;stoi()函數可以直接自動去除前導0 代碼 第二題 題目&a…

【c#】完美解決部署IIS 報錯 0x8007000d

1、錯誤頁面&#xff1a;2、解決思路&#xff1a; 1、點擊IIS站點&#xff0c;右鍵點擊瀏覽到文件夾下&#xff0c;路徑打開cmd&#xff0c;找到對應的站點的dll&#xff0c;運行失敗會提示錯誤原因。需要安裝某些dll2、選中站點&#xff0c;點擊模塊&#xff0c;檢查模塊AspNe…

Visual Studio 2010-.Net Framework 4.0項目-NPOI安裝

在管理Nuget程序包中搜索NPOI&#xff0c;下載最新版會報錯&#xff1a;使用程序包控制臺輸入&#xff1a;Install-Package NPOI -Version 2.5.1

Redis原理之分布式鎖

上篇文章&#xff1a; Redis原理之緩存https://blog.csdn.net/sniper_fandc/article/details/149141968?fromshareblogdetail&sharetypeblogdetail&sharerId149141968&sharereferPC&sharesourcesniper_fandc&sharefromfrom_link??????? 目錄 1 …

網絡基礎19:OSPF單區域原理實驗

一、實驗拓撲二、設備配置AR1 配置<AR1> system-view [AR1] interface GigabitEthernet0/0/0 [AR1-GigabitEthernet0/0/0] ip address 192.168.1.1 24 [AR1-GigabitEthernet0/0/0] quit[AR1] ospf 1 router-id 0.0.0.1 [AR1-ospf-1] area 0 [AR1-ospf-1-area-0.0.0.0] ne…

【實戰推薦】小白也能上手的多端陪玩系統平臺項目源碼

在當今的游戲市場中&#xff0c;游戲陪玩服務已經成為了一個熱門領域。無論是尋找高手帶自己升級、學習游戲技巧&#xff0c;還是僅僅想找人一起玩耍&#xff0c;越來越多的玩家傾向于通過專業的陪玩平臺找到合適的伙伴。對于想要進入這個市場的創業者和開發者來說&#xff0c;…

[hot 100 ]最長連續序列-Python3

需要時間復雜度為O(n)&#xff0c;如果采用暴力求解則為O(n^2)1.在遍歷hash表的時候檢查是否當前值為連續序列的最小值,如果是&#xff0c;則跳過此次循環,這樣使得原本需要對每個值進行一次遍歷變成了對每個值只訪問一次:2.使用set()和普通for num in nums的區別&#xff1a;

[element-plus] el-table show-overflow-tooltip 沒有顯示省略號

<el-table-columnprop"col2"label"列2"width"70"show-overflow-tooltip/> </el-table-column>不知道為什么沒有省略號 再給加個樣式 <el-table-column prop"col2" label"列2" width"70" show-ove…

網絡基礎19--OSPF路由協議單區域

一. RIP的不足跳數評估非最優路徑&#xff1a;RIP以跳數作為度量值&#xff0c;不考慮帶寬&#xff0c;可能導致次優路徑選擇。網絡規模限制&#xff1a;最大跳數為16&#xff0c;限制了網絡規模。收斂速度慢&#xff1a;更新周期長&#xff08;默認30秒&#xff09;&#xff0…

SpringBoot 整合 Langchain4j 實現會話記憶存儲深度解析

目錄 一、前言 二、AI大模型會話記憶介紹 2.1 AI 大模型的會話記憶是什么 2.2 AI 大模型為什么需要會話記憶 2.3 AI 大模型會話記憶常用實現方案 2.4 LangChain4j 會話記憶介紹 2.4.1 LangChain4j 會話記憶介紹 2.4.2 LangChain4j 會話記憶類型 三、Langchain4j 會話記…