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

Elasticsearch 懸掛索引解析與管理指南

這篇具有很好參考價(jià)值的文章主要介紹了Elasticsearch 懸掛索引解析與管理指南。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在 Elasticsearch 的實(shí)戰(zhàn)中,懸掛索引是一個(gè)既常見又容易引起困擾的概念。

今天,我將分享一次處理集群狀態(tài)為RED,原因?yàn)?strong>DANGLING_INDEX_IMPORTED 的實(shí)戰(zhàn)經(jīng)驗(yàn),深入探討懸掛索引的定義、產(chǎn)生原因、管理方法,以及如何有效處理它們,確保讀者能夠明白并解決自己面臨的問題。

值得一提的是,類似問題恰巧是某企業(yè)的面試題。

dangling_index_imported,elasticsearch,jenkins,大數(shù)據(jù),搜索引擎,全文檢索

1、懸掛索引的定義

當(dāng) Elasticsearch 集群的某個(gè)節(jié)點(diǎn)因故障(如宕機(jī))暫時(shí)離開集群,而該節(jié)點(diǎn)上存有的某些索引分片在集群的其他節(jié)點(diǎn)上沒有副本時(shí),這些索引分片在節(jié)點(diǎn)重新加入集群后會(huì)被標(biāo)記為“懸掛”狀態(tài)。

簡而言之,懸掛索引(dangling index)是存在于節(jié)點(diǎn)上、但未被集群元數(shù)據(jù)所識(shí)別的索引分片,這意味著它們不會(huì)參與到集群的正常索引操作中。

讓我們不僅聯(lián)想到十多年前學(xué)過的一個(gè)C語言的知識(shí)點(diǎn):野指針。

野指針(Dangling Pointer)是指向“不可預(yù)知”內(nèi)存區(qū)域的指針。具體來說,當(dāng)指針變量在釋放了其所指向的內(nèi)存后未被設(shè)為 NULL,或者是指向了一個(gè)已經(jīng)被回收利用的內(nèi)存塊時(shí),這個(gè)指針就變成了野指針。

dangling_index_imported,elasticsearch,jenkins,大數(shù)據(jù),搜索引擎,全文檢索

使用野指針訪問或操作內(nèi)存是危險(xiǎn)的,因?yàn)樗赡軙?huì)導(dǎo)致不可預(yù)知的行為或程序崩潰,類似于懸掛索引在集群中的狀態(tài),指向了集群中不存在的元數(shù)據(jù)。

2、遇到的問題及解決步驟

之前遇到過 Elasticsearch 集群狀態(tài)為RED,原因是出現(xiàn)了大量UNASSIGNED的分片,具體來說是DANGLING_INDEX_IMPORTED的情況。

2.1 識(shí)別問題

首先,我使用如下命令確認(rèn)集群節(jié)點(diǎn)狀態(tài),發(fā)現(xiàn)確實(shí)有一個(gè)數(shù)據(jù)節(jié)點(diǎn)丟失。通過重啟故障節(jié)點(diǎn),虛擬機(jī)恢復(fù),但分片仍然未分配。

GET?/_cat/nodes

2.2 深入分析

進(jìn)一步使用如下命令查看未分配的分片,發(fā)現(xiàn)都標(biāo)記為了 DANGLING_INDEX_IMPORTED。

GET?/_cat/shards?h=index,shard,prirep,state,unassigned.reason

返回結(jié)果:

index1????????????0?p?UNASSIGNED???DANGLING_INDEX_IMPORTED
index2????????????0?p?UNASSIGNED???DANGLING_INDEX_IMPORTED
index3????????????0?p?UNASSIGNED???DANGLING_INDEX_IMPORTED

上面提到的 DANGLING_INDEX_IMPORTED 就是前文提及的懸垂索引導(dǎo)入標(biāo)記。

DANGLING_INDEX_IMPORTED 標(biāo)記表示集群已經(jīng)嘗試恢復(fù)這些原本丟失的索引分片,將它們重新集成回集群中。這是一種Elasticsearch集群自我恢復(fù)的機(jī)制,用于盡可能保留和恢復(fù)數(shù)據(jù)。

然而,這種自動(dòng)導(dǎo)入懸掛索引的操作可能會(huì)帶來數(shù)據(jù)完整性和一致性的風(fēng)險(xiǎn),因?yàn)闊o法保證這些索引的數(shù)據(jù)是最新的或完整的。

因此,在Elasticsearch的較新版本(7.9之后版本,不含7.9)中,建議使用專門的懸掛索引API來手動(dòng)管理和恢復(fù)這些索引,以確保數(shù)據(jù)的安全性和一致性。

2.3 診斷原因

通過如下命令診斷未分配分片的具體原因,發(fā)現(xiàn)是因?yàn)橹暗闹鞣制北疽呀?jīng)在集群中的其他節(jié)點(diǎn)上找不到了。

GET?/_cluster/allocation/explain?pretty

返回信息類似如下:

{
??"index"?:?"XXXX",
??"shard"?:?0,
??"primary"?:?true,
??"current_state"?:?"unassigned",
??"unassigned_info"?:?{
????"reason"?:?"DANGLING_INDEX_IMPORTED",
????"at"?:?"2021-05-03T11:58:14.859Z",
????"last_allocation_status"?:?"no_valid_shard_copy"
??},
??"can_allocate"?:?"no_valid_shard_copy",
??"allocate_explanation"?:?"cannot?allocate?because?a?previous?copy?of?the?primary?shard?existed?but?can?no?longer?be?found?on?the?nodes?in?the?cluster",

這段信息表明:

XXXX索引的第0個(gè)主分片因?yàn)楸蛔R(shí)別為懸掛索引并嘗試導(dǎo)入而未被分配。盡管有導(dǎo)入嘗試,但因?yàn)樵诩旱娜魏喂?jié)點(diǎn)上都找不到這個(gè)分片的有效副本,導(dǎo)致這個(gè)分片無法被正確分配到任何節(jié)點(diǎn)上。

這可能指向了數(shù)據(jù)丟失或數(shù)據(jù)一致性問題,需要進(jìn)一步的手動(dòng)干預(yù)和數(shù)據(jù)恢復(fù)操作。

問題參見:https://t.zsxq.com/18SWm6kxF

3、懸掛索引重要的操作和注意事項(xiàng)

3.1. 識(shí)別懸掛索引

使用如下命令,可以列出所有的懸掛索引。

GET?/_dangling

此命令將返回索引名稱、索引UUID、創(chuàng)建時(shí)間以及所在節(jié)點(diǎn)等信息,如下所示:

{
??"dangling_indices":?[
???{
????"index_name":?"my-index-000001",
????"index_uuid":?"zmM4e0JtBkeUjiHD-MihPQ",
????"creation_date_millis":?1589414451372,
????"node_ids":?[
??????"pL47UN3dAb2d5RCWP6lQ3e"
????]
???}
??]
}

3.2 恢復(fù)懸掛索引

通過如下命令恢復(fù)指定的懸掛索引。

這一步驟要求明確接受可能的數(shù)據(jù)丟失,因?yàn)?Elasticsearch 無法確定懸掛索引的數(shù)據(jù)是否是最新的。

POST?/_dangling/<index-uuid>?accept_data_loss=true

這里 index-uuid 就是 3.1 小節(jié)返回的 index_uuid。

3.3 刪除懸掛索引

使用如下API可以通過指定其UUID來刪除一個(gè)懸掛索引,而UUID可以通過使用列出懸掛索引的API找到。

DELETE?/_dangling/<index-uuid>?accept_data_loss=true

這個(gè)操作需要在Elasticsearch安全特性啟用的情況下?lián)碛泄芾砑旱臋?quán)限。

簡而言之,這個(gè)API提供了一種方法,允許管理員在確認(rèn)數(shù)據(jù)丟失的風(fēng)險(xiǎn)后,清理集群中未被識(shí)別為當(dāng)前部分的懸掛索引。

3.4 ?自動(dòng)化腳本恢復(fù)

如果存在大量懸掛索引,可以編寫腳本自動(dòng)化處理恢復(fù)操作。

3.5 檢查集群狀態(tài)

完成恢復(fù)操作后,需檢查集群狀態(tài)以確保數(shù)據(jù)的完整性和集群的健康。

4、避免懸掛索引的預(yù)防措施

  • 確保所有節(jié)點(diǎn)正確配置并加入集群。

  • 在節(jié)點(diǎn)離開集群前,正確移除所有索引。

  • 避免手動(dòng)修改 Elasticsearch 數(shù)據(jù)路徑,以防產(chǎn)生懸掛索引。

  • 刪除大量索引時(shí)需確保所有集群節(jié)點(diǎn)均在線,以避免產(chǎn)生懸掛索引。

5、結(jié)語

通過對Elasticsearch中懸掛索引問題的深入探討與解決,我們不僅增強(qiáng)了對集群管理的理解,也學(xué)會(huì)了如何應(yīng)對潛在的數(shù)據(jù)一致性風(fēng)險(xiǎn)。

本次實(shí)戰(zhàn)經(jīng)歷強(qiáng)調(diào)了預(yù)防、診斷和恢復(fù)懸掛索引的重要策略,提醒我們在集群運(yùn)維過程中必須保持警惕,采取適當(dāng)措施以維護(hù)集群的健康狀態(tài)。

dangling_index_imported,elasticsearch,jenkins,大數(shù)據(jù),搜索引擎,全文檢索

正確的集群管理實(shí)踐和對懸掛索引的有效處理,是確保Elasticsearch集群穩(wěn)定運(yùn)行、數(shù)據(jù)安全的關(guān)鍵。

希望本指南能幫助讀者在未來遇到類似問題時(shí),能夠更加從容不迫地應(yīng)對,保障數(shù)據(jù)的完整性和可用性。

6、參考

[1] https://tomasz-gintowt.medium.com/elasticsearch-dangling-index-imported-64b008949074

[2] https://opster.com/guides/elasticsearch/how-tos/how-to-recover-dangling-indices/

[3] https://bigdataboutique.com/blog/dangling-indexes-in-elasticsearch-how-to-prevent-fix-and-recover-37bcea

[4] https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-gateway.html#dangling-indices

7 年+積累、 Elastic 創(chuàng)始人Shay Banon 等 15 位專家推薦的 Elasticsearch 8.X新書已上線

dangling_index_imported,elasticsearch,jenkins,大數(shù)據(jù),搜索引擎,全文檢索

更短時(shí)間更快習(xí)得更多干貨!

和全球?近2000+?Elastic 愛好者一起精進(jìn)!

elastic6.cn——ElasticStack進(jìn)階助手

dangling_index_imported,elasticsearch,jenkins,大數(shù)據(jù),搜索引擎,全文檢索

比同事?lián)屜纫徊綄W(xué)習(xí)進(jìn)階干貨!文章來源地址http://www.zghlxwxcb.cn/news/detail-844771.html

到了這里,關(guān)于Elasticsearch 懸掛索引解析與管理指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請?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)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

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

相關(guān)文章

  • Elasticsearch 索引管理

    創(chuàng)建索引 壓縮前準(zhǔn)備 壓縮前準(zhǔn)備工作 副本0; 禁止寫; 必須同一個(gè)node 從這幾點(diǎn)能看出其背后的一些限制 壓縮索引 查看設(shè)置 是否生效或者有沒有其他限制 執(zhí)行 - 索引壓縮 寫數(shù)據(jù)前把禁止寫開關(guān)去掉 寫入數(shù)據(jù) 查看寫入數(shù)據(jù) 實(shí)際上是壓縮的分片,并非在原有索引上壓縮,而是

    2024年02月11日
    瀏覽(16)
  • 一起學(xué)Elasticsearch系列-索引管理

    本文已收錄至Github,推薦閱讀 ?? Java隨想錄 微信公眾號(hào):Java隨想錄 在Elasticsearch中,索引是對數(shù)據(jù)進(jìn)行組織和存儲(chǔ)的基本單元。索引管理涉及創(chuàng)建、配置、更新和刪除索引,以及與索引相關(guān)的操作,如數(shù)據(jù)導(dǎo)入、搜索和聚合等。這些關(guān)鍵任務(wù)直接影響著系統(tǒng)性能、數(shù)據(jù)可用

    2024年02月02日
    瀏覽(23)
  • Java操作elasticSearch復(fù)雜查詢以及解析數(shù)據(jù)以及索引保存數(shù)據(jù)

    Java操作elasticSearch復(fù)雜查詢以及解析數(shù)據(jù)以及索引保存數(shù)據(jù)

    說明:基于銀行測試庫的操作 es的銀行測試庫,看一個(gè)Kibana操作 然后用java檢索解析這個(gè)數(shù)據(jù) 聚合搜索 address 中包含 mill 的所有人的年齡分布以及平均薪資 以下是分解思路實(shí)現(xiàn)步驟: #聚合搜索 address 中包含 mill 的所有人的年齡分布以及平均年齡 GET bank/_search { “query”:{ “

    2024年02月10日
    瀏覽(27)
  • ElasticSearch索引生命周期管理--DELETE

    概要 ElasticSearch中的索引生命周期管理,也就是ilm(Manage the index lifecycle),是指定了索引在不同周期下的處理策略。 ilm 的對象是索引而不是索引中的數(shù)據(jù)。 ilm 包括四個(gè)階段:hot 、warm、cold和delete。 hot、warm和cold表示索引的使用情況,delete可以指定索引完成rollover后的舊索引

    2024年02月13日
    瀏覽(31)
  • Elasticsearch 別名:靈活索引管理的利器

    在現(xiàn)代的大數(shù)據(jù)應(yīng)用中,Elasticsearch 以其卓越的全文搜索能力和分布式特性,成為了許多企業(yè)和開發(fā)者的首選數(shù)據(jù)存儲(chǔ)和查詢引擎。在Elasticsearch 的眾多功能中,別名(Alias)是一個(gè)相對簡單但非常實(shí)用的特性。通過別名,我們可以更加靈活地管理索引,實(shí)現(xiàn)無縫的版本控制、

    2024年02月22日
    瀏覽(26)
  • 深度解析Elasticsearch索引數(shù)據(jù)量過大的優(yōu)化與部署策略

    目錄 ??????? 引言 1. 分片和副本策略 1.1分片策略 1.1.1 數(shù)據(jù)量 1.1.2 查詢和寫入負(fù)載 1.1.3 硬件資源 1.1.4 高可用性 1.2.副本策略 1.2.1 冗余和可用性 1.2.2 查詢性能 1.2.3 存儲(chǔ)需求 2. 硬件和資源配置優(yōu)化 2.1?選擇高性能硬件 2.1.1 存儲(chǔ) 2.1.2 內(nèi)存 2.1.3 處理器 2.1.4 網(wǎng)絡(luò) 2.2. JVM調(diào)

    2024年01月19日
    瀏覽(26)
  • Elasticsearch 索引管理:使用別名來修改字段類型

    在 Elasticsearch 中,一個(gè)常見的問題是如何修改已存在的索引的字段類型。這是一個(gè)棘手的問題,因?yàn)?Elasticsearch 本身不允許直接修改字段類型。如果刪除現(xiàn)有索引,重新建索引的話則會(huì)導(dǎo)致數(shù)據(jù)丟失。有一個(gè)方法是使用別名索引,當(dāng)需要調(diào)整索引時(shí)可以先新建一個(gè)索引,把數(shù)

    2024年02月03日
    瀏覽(31)
  • Elasticsearch:使用 ingest pipeline 來管理索引名稱

    Elasticsearch:使用 ingest pipeline 來管理索引名稱

    在我之前的文章 “Elasticsearch:使用 pipelines 路由文檔到想要的 Elasticsearch 索引中去” 我詳述了如何使用已有的?date_index_name 處理器來把文檔歸類到所需要的和文檔日期相關(guān)的的索引中去。比如,我們想把 2023 年 4 月的所有文檔寫入到?my-index-2023-04-01 這個(gè)索引名稱中去。這個(gè)

    2024年02月08日
    瀏覽(39)
  • Elasticsearch-37.索引全生命周期管理及工具介紹

    Elasticsearch-37.索引全生命周期管理及工具介紹

    時(shí)間序列的索引 特點(diǎn) 索引中的數(shù)據(jù)隨著時(shí)間, 持續(xù)不斷增長 按照時(shí)間序 列劃分索引的好處挑戰(zhàn) 按照時(shí)間進(jìn)行劃分索引, 會(huì)使得管理更加簡單。例如,完整刪除一個(gè)引, 性能比delete by query好: 如何進(jìn)行自動(dòng)化管理,減少人工操作 從Hot 移動(dòng)到Warm 定期關(guān)閉或者刪除索引 索引

    2023年04月10日
    瀏覽(23)
  • 【粉絲福利社】Elasticsearch 通過索引阻塞實(shí)現(xiàn)數(shù)據(jù)保護(hù)深入解析(文末送書-完結(jié))

    【粉絲福利社】Elasticsearch 通過索引阻塞實(shí)現(xiàn)數(shù)據(jù)保護(hù)深入解析(文末送書-完結(jié))

    ?? 作者簡介,愚公搬代碼 ??《頭銜》:華為云特約編輯,華為云云享專家,華為開發(fā)者專家,華為產(chǎn)品云測專家,CSDN博客專家,CSDN商業(yè)化專家,阿里云專家博主,阿里云簽約作者,騰訊云優(yōu)秀博主,騰訊云內(nèi)容共創(chuàng)官,掘金優(yōu)秀博主,51CTO博客專家等。 ??《近期榮譽(yù)》:

    2024年04月14日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包