1. 借鑒
極客時(shí)間 阮一鳴老師的Elasticsearch核心技術(shù)與實(shí)戰(zhàn)
Elasticsearch基礎(chǔ)知識——集群、節(jié)點(diǎn)、索引、分片
2. 開始
2.1 集群
- 不同的集群通過不同的名字來區(qū)分,默認(rèn)名字是“elasticsearch”
- 通過配置文件修改或者在命令行指定 -E cluster.name=elasticsearch1
2.2 節(jié)點(diǎn)
- 一個(gè)節(jié)點(diǎn)是一個(gè)elasticsearch的實(shí)例
- 每個(gè)節(jié)點(diǎn)都有名字,通過配置文件或者命令行指定-E node.name=node1
- 每個(gè)節(jié)點(diǎn)在啟動之后,都會分配一個(gè)UID,保存在data目錄中
2.2.1 節(jié)點(diǎn)類型
| 序號 | 節(jié)點(diǎn)類型 | 配置 | 默認(rèn)值 | 特性 |
|---|---|---|---|---|
| 1 | master eligible node | node.master=true | true | 1.可以參加master選舉 2.可修改集群的狀態(tài) 3. 可修改所有的索引和相關(guān)的mapping和setting信息 4.可以修改分片的路由信息? ? ? ? ? ? ????????????????????????????????????????????????????????????????? |
| 2 | data node | node.data=true | true | 保存數(shù)據(jù) |
| 3 | ingest node | node.ingest=true | true | 用來在真正對文檔進(jìn)行索引之前做預(yù)處理 |
| 4 | coordinating node | node.master=false node.data=false node.ingest=false | 每個(gè)節(jié)點(diǎn)默認(rèn)都是coordinating節(jié)點(diǎn) | 負(fù)責(zé)接收client請求,將請求分發(fā)到合適的節(jié)點(diǎn),最終將結(jié)果匯總到一起 |
| 5 | tribe node | no | 連接到不同的es集群,并且支持將這些集群當(dāng)成一個(gè)單獨(dú)的集群處理 |
在生產(chǎn)環(huán)境中,應(yīng)該設(shè)置單一的角色的節(jié)點(diǎn)
2.3 分片&副本
- 主分片(將數(shù)據(jù)分布部到集群內(nèi)的所有節(jié)點(diǎn)上)
- 一個(gè)分片是一個(gè)運(yùn)行的Lucene實(shí)例
- 主分片在搜索創(chuàng)建時(shí)指定,不允許修改
- 副本分片(主分片的拷貝)
- 分片數(shù)可以動態(tài)調(diào)整
- 增加副本數(shù),可增加服務(wù)的可用性和數(shù)據(jù)的安全性