国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

袁庭新ES系列14節(jié) | 搭建Elasticsearch集群

這篇具有很好參考價(jià)值的文章主要介紹了袁庭新ES系列14節(jié) | 搭建Elasticsearch集群。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

前言

單節(jié)點(diǎn)的Elasticsearch需要在處理大量數(shù)據(jù)的時(shí)候需要消耗大量內(nèi)存和CPU資源,數(shù)據(jù)量大到一定程度就會(huì)產(chǎn)生處理瓶頸,甚至?xí)霈F(xiàn)宕機(jī)。

袁庭新ES系列14節(jié) | 搭建Elasticsearch集群,elasticsearch,java,搜索引擎,分布式,微服務(wù)

為了解決單節(jié)點(diǎn)ES的處理能力的瓶頸及單節(jié)點(diǎn)故障問題,我們考慮使用Elasticsearch集群。接下來袁老師帶領(lǐng)大家學(xué)習(xí)如何搭建Elasticsearch的集群。

一. 集群的結(jié)構(gòu)

1.單點(diǎn)的問題

單點(diǎn)的Elasticsearch存在哪些可能出現(xiàn)的問題呢?

  • 單臺(tái)機(jī)器存儲(chǔ)容量有限,無法實(shí)現(xiàn)高存儲(chǔ)。
  • 單服務(wù)器容易出現(xiàn)單點(diǎn)故障,無法實(shí)現(xiàn)高可用。
  • 單服務(wù)的并發(fā)處理能力有限,無法實(shí)現(xiàn)高并發(fā)。

所以,為了應(yīng)對(duì)這些問題,我們需要對(duì)Elasticsearch搭建集群。

2.數(shù)據(jù)分片

首先,我們面臨的第一個(gè)問題就是數(shù)據(jù)量太大,單點(diǎn)存儲(chǔ)量有限的問題。大家覺得應(yīng)該如何解決?

沒錯(cuò),我們可以把數(shù)據(jù)拆分成多份,每一份存儲(chǔ)到不同機(jī)器節(jié)點(diǎn)(Node),從而實(shí)現(xiàn)減少每個(gè)節(jié)點(diǎn)數(shù)據(jù)量的目的。這就是數(shù)據(jù)的分布式存儲(chǔ),也叫做數(shù)據(jù)分片(Shard)。

袁庭新ES系列14節(jié) | 搭建Elasticsearch集群,elasticsearch,java,搜索引擎,分布式,微服務(wù)

3.數(shù)據(jù)備份

數(shù)據(jù)分片解決了海量數(shù)據(jù)存儲(chǔ)的問題,但是如果出現(xiàn)單點(diǎn)故障,那么分片數(shù)據(jù)就不再完整,這又該如何解決呢?

沒錯(cuò),就像大家為了備份手機(jī)數(shù)據(jù),會(huì)額外存儲(chǔ)一份到移動(dòng)硬盤一樣。我們可以給每個(gè)分片數(shù)據(jù)進(jìn)行備份,存儲(chǔ)到其它節(jié)點(diǎn),防止數(shù)據(jù)丟失,這就是數(shù)據(jù)備份,也叫數(shù)據(jù)副本(replica)。

數(shù)據(jù)備份可以保證高可用,但是每個(gè)分片備份一份,所需要的節(jié)點(diǎn)數(shù)量就會(huì)翻一倍,成本實(shí)在是太高了。為了在高可用和成本間尋求平衡,我們可以這樣做:

  • 首先對(duì)數(shù)據(jù)分片,存儲(chǔ)到不同節(jié)點(diǎn)。
  • 然后對(duì)每個(gè)分片進(jìn)行備份,放到對(duì)方節(jié)點(diǎn),完成互相備份。

這樣可以大大減少所需要的服務(wù)節(jié)點(diǎn)數(shù)量。如下圖我們以3分片,每個(gè)分片備份一份為例。

袁庭新ES系列14節(jié) | 搭建Elasticsearch集群,elasticsearch,java,搜索引擎,分布式,微服務(wù)

在這個(gè)集群中,如果出現(xiàn)單節(jié)點(diǎn)故障,并不會(huì)導(dǎo)致數(shù)據(jù)缺失,所以保證了集群的高可用,同時(shí)也減少了節(jié)點(diǎn)中數(shù)據(jù)存儲(chǔ)量。并且因?yàn)槭嵌鄠€(gè)節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù),因此用戶請(qǐng)求也會(huì)分發(fā)到不同服務(wù)器,并發(fā)能力也得到了一定的提升。

二. 搭建集群

1.搭建集群設(shè)計(jì)

集群需要多臺(tái)機(jī)器,我們這里用一臺(tái)機(jī)器來模擬,因此我們需要在一臺(tái)虛擬機(jī)中部署多個(gè)Elasticsearch節(jié)點(diǎn),每個(gè)Elasticsearch的端口都必須不一樣。

我們將Elasticsearch的安裝包解壓三份出來,分別修改端口號(hào),修改data和logs存放位置。而實(shí)際開發(fā)中,將每個(gè)Elasticsearch節(jié)點(diǎn)放在不同的服務(wù)器上。

我們將集群名稱設(shè)計(jì)為yx-elastic,并部署3個(gè)Elasticsearch節(jié)點(diǎn)。集群環(huán)境如下:

Node Name

Cluster Name

IP

HTTP

TCP

node-01

yx-elastic

127.0.0.1

9201

9301

node-02

yx-elastic

127.0.0.1

9202

9302

node-03

yx-elastic

127.0.0.1

9203

9303

TCP:集群間的各個(gè)節(jié)點(diǎn)進(jìn)行通訊的端口,默認(rèn)9300。

HTTP:表示使用HTTP協(xié)議進(jìn)行訪問時(shí)使用的端口(Elasticsearch-head、Kibana、ApiPost),默認(rèn)端口號(hào)是9200。

2.搭建集群實(shí)現(xiàn)

1.將elasticsearch-6.2.4.zip壓縮包解壓三份,分別做以下命名。

袁庭新ES系列14節(jié) | 搭建Elasticsearch集群,elasticsearch,java,搜索引擎,分布式,微服務(wù)

2.修改每一個(gè)節(jié)點(diǎn)con?g目錄下的elasticsearch.yml配置文件。三個(gè)節(jié)點(diǎn)的配置文件內(nèi)容幾乎一致,除了node.name、path.data、path.log、http.port、transport.tcp.port屬性的值。

(1) 配置node-01節(jié)點(diǎn)。

# 允許跨域名訪問
http.cors.enabled: true
# 當(dāng)設(shè)置允許跨域,默認(rèn)為*,表示支持所有域名
http.cors.allow-origin: "*"
# 允許所有節(jié)點(diǎn)訪問
network.host: 0.0.0.0
# 集群的名稱,同一個(gè)集群下所有節(jié)點(diǎn)的集群名稱應(yīng)該一致
cluster.name: yx-elastic
# 當(dāng)前節(jié)點(diǎn)名稱 每個(gè)節(jié)點(diǎn)不一樣
node.name: node-01
# 數(shù)據(jù)的存放路徑,每個(gè)節(jié)點(diǎn)不一樣,不同es服務(wù)器對(duì)應(yīng)的data和log存儲(chǔ)的路徑不能一樣
path.data: /Users/yuanxin/Documents/ProgramSoftware/es-config/es-9201/data
# 日志的存放路徑 每個(gè)節(jié)點(diǎn)不一樣
path.logs: /Users/yuanxin/Documents/ProgramSoftware/es-config/es-9201/logs
# HTTP協(xié)議的對(duì)外端口,每個(gè)節(jié)點(diǎn)不一樣,默認(rèn):9200
http.port: 9201
# TCP協(xié)議對(duì)外端口 每個(gè)節(jié)點(diǎn)不一樣,默認(rèn):9300
transport.tcp.port: 9301
# 三個(gè)節(jié)點(diǎn)相互發(fā)現(xiàn),包含自己,使用TCP協(xié)議的端口號(hào)
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
# 聲明大于幾個(gè)的投票主節(jié)點(diǎn)有效,請(qǐng)?jiān)O(shè)置為(nodes / 2) + 1
discovery.zen.minimum_master_nodes: 2
# 是否為主節(jié)點(diǎn)
node.master: true

(2) 配置node-02節(jié)點(diǎn)。

# 允許跨域名訪問
http.cors.enabled: true
http.cors.allow-origin: "*"
network.host: 0.0.0.0
# 集群的名稱
cluster.name: yx-elastic
# 當(dāng)前節(jié)點(diǎn)名稱 每個(gè)節(jié)點(diǎn)不一樣
node.name: node-02
# 數(shù)據(jù)的存放路徑,每個(gè)節(jié)點(diǎn)不一樣
path.data: /Users/yuanxin/Documents/ProgramSoftware/es-config/es-9202/data
# 日志的存放路徑,每個(gè)節(jié)點(diǎn)不一樣
path.logs: /Users/yuanxin/Documents/ProgramSoftware/es-config/es-9202/logs
# HTTP協(xié)議的對(duì)外端口,每個(gè)節(jié)點(diǎn)不一樣
http.port: 9202
# TCP協(xié)議對(duì)外端口,每個(gè)節(jié)點(diǎn)不一樣
transport.tcp.port: 9302
# 三個(gè)節(jié)點(diǎn)相互發(fā)現(xiàn)
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
# 聲明大于幾個(gè)的投票主節(jié)點(diǎn)有效,請(qǐng)?jiān)O(shè)置為(nodes / 2) + 1
discovery.zen.minimum_master_nodes: 2
# 是否為主節(jié)點(diǎn)
node.master: true

(3) 配置node-03節(jié)點(diǎn)。

# 允許跨域名訪問
http.cors.enabled: true
http.cors.allow-origin: "*"
network.host: 0.0.0.0
# 集群的名稱
cluster.name: yx-elastic
# 當(dāng)前節(jié)點(diǎn)名稱,每個(gè)節(jié)點(diǎn)不一樣
node.name: node-03
# 數(shù)據(jù)的存放路徑,每個(gè)節(jié)點(diǎn)不一樣
path.data: /Users/yuanxin/Documents/ProgramSoftware/es-config/es-9203/data
# 日志的存放路徑,每個(gè)節(jié)點(diǎn)不一樣
path.logs: /Users/yuanxin/Documents/ProgramSoftware/es-config/es-9203/logs
# HTTP協(xié)議的對(duì)外端口,每個(gè)節(jié)點(diǎn)不一樣
http.port: 9203
# TCP協(xié)議對(duì)外端口,每個(gè)節(jié)點(diǎn)不一樣
transport.tcp.port: 9303
# 三個(gè)節(jié)點(diǎn)相互發(fā)現(xiàn)
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302","127.0.0.1:9303"]
# 聲明大于幾個(gè)的投票主節(jié)點(diǎn)有效,請(qǐng)?jiān)O(shè)置為(nodes / 2) + 1
discovery.zen.minimum_master_nodes: 2
# 是否為主節(jié)點(diǎn)
node.master: true

3.將下載的elasticsearch-analysis-ik-6.2.4.zip的壓縮包解壓到集群中每個(gè)elasticsearch的plugins目錄下,并將解壓后的目錄重命名成analysis-ik。

4.啟動(dòng)集群。進(jìn)入elasticsearch安裝目錄下的bin目錄下通過啟動(dòng)文件來啟動(dòng)Elasticsearch。把三個(gè)節(jié)點(diǎn)分別啟動(dòng),啟動(dòng)時(shí)不要著急,要一個(gè)一個(gè)地啟動(dòng)。啟動(dòng)Elasticsearch服務(wù)即可加載IK分詞器。

# Mac系統(tǒng)下啟動(dòng)方式-雙擊下面的文件運(yùn)行
./elasticsearch

# Windows系統(tǒng)下啟動(dòng)方式-在終端執(zhí)行下面的文件
elasticsearch.bat

三. 測試集群中創(chuàng)建索引庫

1.Kibana訪問集群

1.進(jìn)入Kibana安裝目錄下的con?g目錄,修改kibana.yml文件,添加Elasticsearch服務(wù)地址的配置(注釋放開即可)。

# url訪問的端口修改成9201或9202或9203都可以
elasticsearch.url: "http://localhost:9201"

2.進(jìn)入Kibana安裝目錄下的bin目錄,通過運(yùn)行啟動(dòng)文件來啟動(dòng)Kibana。前提是先啟動(dòng)Elasticsearch服務(wù)集群,再啟動(dòng)Kibana服務(wù)。

# Mac系統(tǒng)下啟動(dòng)方式-雙擊下面的文件運(yùn)行
./kibana

# Windows系統(tǒng)下啟動(dòng)方式-在終端執(zhí)行下面的文件
kibana.bat

3.然后訪問Kibana地址http://127.0.0.1:5601,進(jìn)行集群測試。

2.elasticsearch-head訪問集群

1.通過谷歌瀏覽器打開elasticsearch-head擴(kuò)展程序。

2.在打開的窗口中輸入http://localhost:9201地址(可以是集群中任一一臺(tái)服務(wù)器地址)來查看Elasticsearch集群的啟動(dòng)情況。

袁庭新ES系列14節(jié) | 搭建Elasticsearch集群,elasticsearch,java,搜索引擎,分布式,微服務(wù)

3.集群中創(chuàng)建索引庫

搭建集群以后就要?jiǎng)?chuàng)建索引庫了,那么問題來了,當(dāng)我們創(chuàng)建一個(gè)索引庫后,數(shù)據(jù)會(huì)保存到哪個(gè)服務(wù)節(jié)點(diǎn)上呢?如果我們對(duì)索引庫分片,那么每個(gè)片會(huì)在哪個(gè)節(jié)點(diǎn)呢?

3.1.通過Kibana創(chuàng)建索引

通過API創(chuàng)建索引庫,設(shè)置集群的分片和備份值。示例:

PUT /yx
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 1
  }
}

這里有兩個(gè)屬性配置:

屬性

描述

number_of_shards

分片數(shù)量,默認(rèn)值為5;這里設(shè)置為3

number_of_replicas

副本數(shù)量,默認(rèn)值為1;這里設(shè)置為1。每個(gè)分片一個(gè)備份,一個(gè)原始數(shù)據(jù),共計(jì)2份

3.2.通過elasticsearch-head創(chuàng)建索引

在elasticsearch-head控制臺(tái)通過【索引】選項(xiàng)可以新建索引。這個(gè)要親自嘗試才知道。

袁庭新ES系列14節(jié) | 搭建Elasticsearch集群,elasticsearch,java,搜索引擎,分布式,微服務(wù)

3.3.elasticsearch-head創(chuàng)建索引失敗

在通過elasticsearch-head創(chuàng)建索引時(shí),點(diǎn)擊新建索引窗口的【OK】按鈕,沒有任何響應(yīng),無法在頁面新建索引。針對(duì)此問題,打開瀏覽器控制臺(tái),提示“Not Acceptable”錯(cuò)誤。

袁庭新ES系列14節(jié) | 搭建Elasticsearch集群,elasticsearch,java,搜索引擎,分布式,微服務(wù)

解決方案見下:

1.打開elasticsearch-head安裝目錄下的vendor.js文件。

2.修改contentType屬性的取值。

(1) 找到第6886行代碼。

contentType: "application/x-www-form-urlencoded",

(2) 將6886行代碼改成如下內(nèi)容。

contentType: "application/json;charset=UTF-8",

3.修改s.contentType屬性值的比較。

(1) 找到第7573行代碼。

var inspectData = s.contentType === "application/x-www-form-urlencoded" &&

(2) 將7573行代碼改成如下內(nèi)容。

var inspectData = s.contentType === "application/json;charset=UTF-8" &&

4.重新通過elasticsearch-head工具在控制臺(tái)點(diǎn)擊【索引】選項(xiàng)進(jìn)行新建索引的測試。

3.4.使用elasticsearch-head查看集群

通過Chrome瀏覽器的elasticsearch-head插件查看索引,我們可以查看到分片的存儲(chǔ)結(jié)構(gòu):

袁庭新ES系列14節(jié) | 搭建Elasticsearch集群,elasticsearch,java,搜索引擎,分布式,微服務(wù)

可以看到,yx這個(gè)索引庫,有三個(gè)分片,分別是0、1、2,每個(gè)分片有1個(gè)副本,共6份。

  • node-01上保存了0號(hào)分片和1號(hào)分片的副本
  • node-02上保存了1號(hào)分片和2號(hào)分片的副本
  • node-03上保存了2號(hào)分片和0號(hào)分片的副本

四.?集群工作原理

1.shard與replica機(jī)制

1.一個(gè)index包含多個(gè)shard,也就是一個(gè)index存在多個(gè)服務(wù)器上。

2.每個(gè)shard都是一個(gè)最小工作單元,承載部分?jǐn)?shù)據(jù),比如有三臺(tái)服務(wù)器,現(xiàn)在有三條數(shù)據(jù),這三條數(shù)據(jù)在三臺(tái)服務(wù)器上各方一條。

3.增減節(jié)點(diǎn)時(shí),shard會(huì)自動(dòng)在nodes中負(fù)載均衡。

4.primary shard(主分片)和replica shard(副本分片),每個(gè)document肯定只存在于某一個(gè)primary shard以及其對(duì)應(yīng)的replica shard中,不可能存在于多個(gè)primary shard。

5.replica shard是primary shard的副本,負(fù)責(zé)容錯(cuò),以及承擔(dān)讀請(qǐng)求負(fù)載。

6.primary shard的數(shù)量在創(chuàng)建索引的時(shí)候就固定了,replica shard的數(shù)量可以隨時(shí)修改。

7.primary shard的默認(rèn)數(shù)量是5,replica默認(rèn)是1(每個(gè)主分片一個(gè)副本分片),默認(rèn)有10個(gè)shard,5個(gè)primary shard,5個(gè)replica shard。

8.primary shard不能和自己的replica shard放在同一個(gè)節(jié)點(diǎn)上(否則節(jié)點(diǎn)宕機(jī),primary shard和副本都丟失,起不到容錯(cuò)的作用),但是可以和其他primary shard的replicashard放在同一個(gè)節(jié)點(diǎn)上。

2.集群寫入數(shù)據(jù)

在Elasticsearch集群中寫入數(shù)據(jù)的步驟:

1.客戶端選擇一個(gè)node發(fā)送請(qǐng)求過去,這個(gè)node就是coordinating node(協(xié)調(diào)節(jié)點(diǎn))。

2.coordinating node對(duì)document進(jìn)行路由,將請(qǐng)求轉(zhuǎn)發(fā)給對(duì)應(yīng)的node,根據(jù)一定的算法選擇對(duì)應(yīng)的節(jié)點(diǎn)進(jìn)行存儲(chǔ)。

3.實(shí)際上,node上的primary shard處理請(qǐng)求,將數(shù)據(jù)保存在本地,然后將數(shù)據(jù)同步到replica node。

4.coordinating node如果發(fā)現(xiàn)primary node和所有的replica node都搞定之后,就會(huì)返回請(qǐng)求到客戶端。

這個(gè)路由簡單的說就是取模算法,比如說現(xiàn)在有3臺(tái)服務(wù)器,這個(gè)時(shí)候傳過來的id是5,那么5%3=2,就放在第2臺(tái)服務(wù)器。

3.ES查詢數(shù)據(jù)

3.1.倒排序算法

查詢有個(gè)算法叫倒排序。簡單的說就是,通過分詞把詞語出現(xiàn)的id進(jìn)行記錄下來,在查詢的時(shí)候先去查到哪些id包含這個(gè)數(shù)據(jù),然后再根據(jù)id把數(shù)據(jù)查出來。

3.2.查詢過程

1.客戶端發(fā)送一個(gè)請(qǐng)求給協(xié)調(diào)節(jié)點(diǎn)(coordinate node)。

2.協(xié)調(diào)節(jié)點(diǎn)將搜索的請(qǐng)求轉(zhuǎn)發(fā)給所有的shard對(duì)應(yīng)的primary shard或replica shard。

3.查詢階段(query phase),每一個(gè)shard將自己搜索的結(jié)果(其實(shí)也就是一些唯一標(biāo)識(shí)),返回給協(xié)調(diào)節(jié)點(diǎn),由協(xié)調(diào)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)的合并、排序和分頁等操作,產(chǎn)出最后的結(jié)果。

4.獲取階段(fetch phase),接著由協(xié)調(diào)節(jié)點(diǎn),根據(jù)唯一標(biāo)識(shí)去各個(gè)節(jié)點(diǎn)進(jìn)行拉取數(shù)據(jù),最終返回給客戶端。

五. 結(jié)語

本節(jié)我們主要學(xué)習(xí)了Elasticsearch集群的相關(guān)內(nèi)容,Elasticsearch集群解決了三高問題,高存儲(chǔ)、高可用和高并發(fā)。主要從ES的集群架構(gòu)、如何搭建ES集群,帶領(lǐng)大家一步步從零搭建了一個(gè)ES集群環(huán)境。然后通過Kibana和elasticsearch-head工具訪問集群環(huán)境進(jìn)行測試,最后講解了ES的基本操作。關(guān)于Elasticsearch集群相關(guān)的內(nèi)容就給大家介紹到這里。

今天的內(nèi)容就分享到這里吧。關(guān)注「袁庭新」,干貨天天都不斷!

袁庭新ES系列14節(jié) | 搭建Elasticsearch集群,elasticsearch,java,搜索引擎,分布式,微服務(wù)文章來源地址http://www.zghlxwxcb.cn/news/detail-854397.html

到了這里,關(guān)于袁庭新ES系列14節(jié) | 搭建Elasticsearch集群的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【ElasticSearch系列-06】Es集群架構(gòu)的搭建以及集群的核心概念

    【ElasticSearch系列-06】Es集群架構(gòu)的搭建以及集群的核心概念

    ElasticSearch系列整體欄目 內(nèi)容 鏈接地址 【一】ElasticSearch下載和安裝 https://zhenghuisheng.blog.csdn.net/article/details/129260827 【二】ElasticSearch概念和基本操作 https://blog.csdn.net/zhenghuishengq/article/details/134121631 【三】ElasticSearch的高級(jí)查詢Query DSL https://blog.csdn.net/zhenghuishengq/article/details/1

    2024年02月04日
    瀏覽(27)
  • 五-1、elasticsearch集群搭建(ES集群搭建)

    五-1、elasticsearch集群搭建(ES集群搭建)

    es下載地址 這里我下載的是 集群搭建方法 上傳方式有兩種 第一種:使用xftp上傳 直接拖動(dòng)過去就可以了。 第二種:使用lrzsz 先安裝 切換到要上傳的位置 輸入命令 選擇你要上傳的文件 等待上傳完成即可 ①解壓到指定目錄下 ②修改/config下的elasticsearch.yml 加入如下配置 原來

    2023年04月22日
    瀏覽(17)
  • Elasticsearch 系列(六)- ES數(shù)據(jù)同步和ES集群

    Elasticsearch 系列(六)- ES數(shù)據(jù)同步和ES集群

    本章將和大家分享ES的數(shù)據(jù)同步方案和ES集群相關(guān)知識(shí)。廢話不多說,下面我們直接進(jìn)入主題。 1、數(shù)據(jù)同步問題 Elasticsearch中的酒店數(shù)據(jù)來自于mysql數(shù)據(jù)庫,因此mysql數(shù)據(jù)發(fā)生改變時(shí),Elasticsearch也必須跟著改變,這個(gè)就是Elasticsearch與mysql之間的數(shù)據(jù)同步。 在微服務(wù)中,負(fù)責(zé)酒

    2024年04月28日
    瀏覽(23)
  • 【ElasticSearch】ES集群搭建、監(jiān)控、故障轉(zhuǎn)移

    【ElasticSearch】ES集群搭建、監(jiān)控、故障轉(zhuǎn)移

    單機(jī)的ES做數(shù)據(jù)存儲(chǔ)與搜索,必然面臨兩個(gè)問題: 海量數(shù)據(jù)存儲(chǔ)問題 單點(diǎn)故障問題 因此,考慮使用ES集群: 海量數(shù)據(jù)存儲(chǔ)問題:將索引庫從邏輯上拆分為N個(gè)分片(shard),存儲(chǔ)到多個(gè)節(jié)點(diǎn)。如此,ES的存儲(chǔ)能力就是所有節(jié)點(diǎn)存儲(chǔ)能力的總和 單點(diǎn)故障問題:將分片數(shù)據(jù) 在不同

    2024年02月16日
    瀏覽(22)
  • ES(ElasticSearch)快速入門和集群搭建

    ES(ElasticSearch)快速入門和集群搭建

    ? ES作為一個(gè)索引及搜索服務(wù),對(duì)外提供豐富的REST接口,快速入門部分的實(shí)例使用kibana來測試,目的是對(duì)ES的使用方法及流程有個(gè)初步的認(rèn)識(shí)。 創(chuàng)建index 索引庫。包含若干相似結(jié)構(gòu)的 Document 數(shù)據(jù),相當(dāng)于數(shù)據(jù)庫的database。 語法: PUT /index_name 如: number_of_shards - 表示一個(gè)索引

    2024年02月07日
    瀏覽(18)
  • Elasticsearch--01.ES8.1.0集群搭建

    Elasticsearch--01.ES8.1.0集群搭建

    一、搭建ES集群 1.集群環(huán)境安裝 本集群使用Centos7.5操作系統(tǒng),2G 2C 60G(如果主機(jī)好點(diǎn)的節(jié)點(diǎn)配置可以搞高點(diǎn)) 分別修改三臺(tái)集群服務(wù)器配置: ?1.1.修改系統(tǒng)配置文件/etc/security/limits.conf 1.2.修改/etc/sysctl.conf 1.3.# sysctl -p? 重新加載 集群服務(wù)器如下: 機(jī)器地址 節(jié)點(diǎn)名稱 節(jié)點(diǎn)角

    2024年02月12日
    瀏覽(20)
  • 磐基2.0搭建es集群 k8s安裝elasticsearch集群

    參考: k8s安裝elasticsearch集群_k8s部署elasticsearch集群_MasonYyp的博客-CSDN博客 1 環(huán)境簡述搭建es集群需要使用的技術(shù)如下:k8s集群、StatefulSet控制器、Service(NodePort)服務(wù)、PV、PVC、volumeClaimTemplates(存儲(chǔ)卷申請(qǐng)模板)。StatefulSet控制器創(chuàng)建的Pod適合用于分布式存儲(chǔ)系統(tǒng),它最大的特

    2024年02月09日
    瀏覽(20)
  • 【Elasticsearch】從零開始搭建ES8集群并且集成到Springboot,更好的服務(wù)電商類等需要全文索引的項(xiàng)目(一)

    【Elasticsearch】從零開始搭建ES8集群并且集成到Springboot,更好的服務(wù)電商類等需要全文索引的項(xiàng)目(一)

    最近公司的電商項(xiàng)目越來越龐大,功能需求點(diǎn)也越來越多,各種C端對(duì)查詢和檢索的要求也越來越高,是時(shí)候在項(xiàng)目中引入全文檢索了。 ElasticSearch 是一個(gè)基于 Lucene 的搜索服務(wù)器,它提供了一個(gè)分布式多用戶能力的全文搜索引擎,并且是基于Java 開發(fā)的,我記得很久之前ES還不

    2024年02月15日
    瀏覽(23)
  • 【ES專題】ElasticSearch集群架構(gòu)剖析

    【ES專題】ElasticSearch集群架構(gòu)剖析

    個(gè)人感覺集群架構(gòu)其實(shí)都有點(diǎn)大同小異,看了這么多集群架構(gòu)之后,感覺無非要考慮的地方就幾點(diǎn): 使用何種通信協(xié)議去同步數(shù)據(jù),互相通信 采用何種策略同步數(shù)據(jù)(異步還是同步) 如何保證一致性,保證到什么程度(【最終一致性】 or【實(shí)時(shí)一致性 / 強(qiáng)一致性】) 使用何

    2024年02月04日
    瀏覽(13)
  • elasticsearch——ES集群分片不平衡處理

    在使用云上的一個(gè)ES集群的時(shí)候,發(fā)現(xiàn)搜索性能很差,查看分片情況,發(fā)現(xiàn)ES有12個(gè)節(jié)點(diǎn),索引創(chuàng)建了10個(gè)分片,1個(gè)副本,最后20個(gè)分片全在其中3個(gè)節(jié)點(diǎn)上,分布不均衡,實(shí)際只消耗了3個(gè)節(jié)點(diǎn)的資源,所以性能很差,再次創(chuàng)建新的索引,發(fā)現(xiàn)仍然是這種情況,最后通過下面的命

    2024年02月13日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包