日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ES集群管理

發布時間:2023/12/3 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ES集群管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自?ES集群管理

8 集群管理

ES通常以集群方式工作,這樣做不僅能夠提高 ES的搜索能力還可以處理大數據搜索的能力,同時也增加了系統的容錯能力及高可用,ES可以實現PB級數據的搜索。
下圖是ES集群結構的示意圖:

?

從上圖總結以下概念:
1、結點
ES集群由多個服務器組成,每個服務器即為一個Node結點(該服務只部署了一個ES進程)。

2、分片
當我們的文檔量很大時,由于內存和硬盤的限制,同時也為了提高ES的處理能力、容錯能力及高可用能力,我們將索引分成若干分片,每個分片可以放在不同的服務器,這樣就實現了多個服務器共同對外提供索引及搜索服務。
一個搜索請求過來,會分別從各各分片去查詢,最后將查詢到的數據合并返回給用戶。

3、副本
為了提高ES的高可用同時也為了提高搜索的吞吐量,我們將分片復制一份或多份存儲在其它的服務器,這樣即使當前的服務器掛掉了,擁有副本的服務器照常可以提供服務。

4、主結點
一個集群中會有一個或多個主結點,主結點的作用是集群管理,比如增加節點,移除節點等,主結點掛掉后ES會重新選一個主結點。

5、結點轉發
每個結點都知道其它結點的信息,我們可以對任意一個結點發起請求,接收請求的結點會轉發給其它結點查詢數據。

?

8.2 搭建集群

下邊的例子實現創建一個2結點的集群,并且索引的分片我們設置2片,每片一個副本

8.2.1 結點的三個角色

主結點:master節點主要用于集群的管理及索引 比如新增結點、分片分配、索引的新增和刪除等。 數據結點:data 節點上保存了數據分片,它負責索引和搜索操作。 客戶端結點:client 節點僅作為請求客戶端存在,client的作用也作為負載均衡器,client 節點不存數據,只是將請求均衡轉發到其它結點。

通過下邊兩項參數來配置結點的功能:
node.master: #是否允許為主結點
node.data: #允許存儲數據作為數據結點
node.ingest: #是否允許成為協調節點,
四種組合方式:
master=true,data=true:即是主結點又是數據結點
master=false,data=true:僅是數據結點
master=true,data=false:僅是主結點,不存儲數據
master=false,data=false:即不是主結點也不是數據結點,此時可設置ingest為true表示它是一個客戶端

8.2.2創建結點 1

解壓elasticsearch-6.2.1.zip
結點1對外服務的http端口是:9200
集群管理端口是9300
配置elasticsearch.yml
結點名:xc_node_1
elasticsearch.yml內容如下

cluster.name: xuecheng node.name: xc_node_1 network.host: 0.0.0.0 http.port: 9200 transport.tcp.port: 9300 node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"] discovery.zen.minimum_master_nodes: 1 node.ingest: true bootstrap.memory_lock: false node.max_local_storage_nodes: 2path.data: D:\develop\elasticsearch\elasticsearch-6.2.1-1\data path.logs: D:\develop\elasticsearch\elasticsearch-6.2.1-1\logshttp.cors.enabled: true http.cors.allow-origin: /.*/

8.2.3創建結點 2

操作與節點1一樣

cluster.name: xuecheng node.name: xc_node_2 network.host: 0.0.0.0 http.port: 9201 transport.tcp.port: 9301 node.master: true node.data: true discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300", "0.0.0.0:9301"] discovery.zen.minimum_master_nodes: 1 node.ingest: true bootstrap.memory_lock: false node.max_local_storage_nodes: 2path.data: D:\develop\elasticsearch\elasticsearch-6.2.1-2\data path.logs: D:\develop\elasticsearch\elasticsearch-6.2.1-2\logshttp.cors.enabled: true http.cors.allow-origin: /.*/

8.2.4 創建索引庫

1)使用head連上其中一個結點

上圖表示兩個結點已經創建成功。
2)下邊創建索引庫,共2個分片,每個分片一個副本


創建成功,刷新head:

?

上圖可以看到共有4個分片,其中兩個分片是副本。
3)每個結點安裝IK分詞器

8.2.5 集群的健康

通過訪問 GET /_cluster/health 來查看Elasticsearch 的集群健康情況。
用三種顏色來展示健康狀態: green 、 yellow 或者 red 。
green:所有的主分片和副本分片都正常運行。
yellow:所有的主分片都正常運行,但有些副本分片運行不正常。
red:存在主分片運行不正常。

8.3 測試

1)創建映射并寫入文檔
連接 其中任意一臺結點,創建映射寫入文檔。
2)搜索
向其它一個結點發起搜索請求,查詢全部數據。
3)關閉一個結點
ES會重新選中一個主結點(前提在配置結點時允許它可以為主結點)

?

?

總結

以上是生活随笔為你收集整理的ES集群管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。