1.複雜的分佈式機制,好比分片、副本、負載均衡等等,所有都隱藏起來
2.擴容方案(垂直擴容、水平擴容)
3.增長或者減小節點時的數據rebalance:總有某些服務器的負載會重一些,承載的數量和請求量會大一些
4.mater節點:java
(1)管理es集羣的元數據,好比說索引的建立和刪除,維護索引元數據;節點的增長和移除,維護集羣的元數據 (2)默認狀況下,會自動選擇出一臺節點,做爲mater節點 (3)mater節點不承載全部的請求,因此不會是單點瓶頸
5.節點對等的分佈式架構node
(1)節點對等,每一個節點都能接收全部的請求 (2)節點的自動路由
PUT /test_index { "settings":{ "number_of_shards":3, "number_of_replicas":1 } }
當有一個node宕機,這個機器上的某個primary shard 就沒了,此時status就不是active,狀態也會修改爲red。
(1) 容錯第一步:mater 選舉,自動選擇另外一個node成爲新的mater,承擔起master的責任
(2) 容錯第二步:新的master,將丟失掉的primary shard的某個replica shard提高爲primary shard,此時cluster status會變爲yellow,由於primary shard 所有都變成了active。可是少了一個replica shard,因此不是全部的replica shard 都是active
(3)容錯第三步:重啓故障的node,新的mater會將缺失的副本都時copy一份到該node上,並且該node會使用以前已有的shard數據,只是同步一下宕機以後發生過的修改。cluster status 變爲green。服務器