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

記錄ElasticSearch分片被鎖定導致無法分配處理過程

這篇具有很好參考價值的文章主要介紹了記錄ElasticSearch分片被鎖定導致無法分配處理過程。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本篇文章記錄最近ES做節(jié)點替換,從shard遷移過程中被鎖定導致無法分配,主shard正常,希望可以幫助其它人
failed to create shard,failed to obtain in-memory shard lock,ShardLockObtainFailedException

一、問題描述

這次遇到的問題比較特殊,嘗試過以下幾種手段都沒有恢復:

  1. _cluster/reroute手動分片shard
  2. 由于是從shard無法分片,所以當時試過將所以的副本改成0,然后再設置成1,想通過重新生成副本來解決,結(jié)果也失敗

接下來是排查問題的過程:

1、通過“GET _cat/shards/indexname”錯誤信息如下,從shard無法分配,主shard正常,正常的shard未展示出來:
indexname                3     r      UNASSIGNED                                 
indexname                4     r      UNASSIGNED                                 
indexname                1     r      UNASSIGNED                                 

之前在運維過程中也遇到過UNASSIGNED這種從shard無法分配的問題,通過"allocate_replica"命令手動分配可以解決,這類問題一般都是因為node節(jié)點重啟或者失聯(lián)導致的shard分片異常

2、通過“GET _cluster/allocation/explain”錯誤信息如下:

"index": "indexname",
  "shard": 3,
  "primary": false,
  "current_state": "unassigned",
  "unassigned_info": {
    "reason": "ALLOCATION_FAILED",
    "at": "2023-11-02T18:43:14.758Z",
    "failed_allocation_attempts": 300,
    "details": "failed shard on node [4MMOUt8-SMatWGCzX1asAQ]: failed to create shard, failure IOException[failed to obtain in-memory shard lock]; nested: ShardLockObtainFailedException[[indexname][3]: obtaining shard lock timed out after 5000ms]; ",
    "last_allocation_status": "no_attempt"
  },
  "can_allocate": "no",
  "allocate_explanation": "cannot allocate because allocation is not permitted to any of the nodes",

大多數(shù)情況下shard的allocate相關(guān)的問題都可以通過“GET _cluster/allocation/explain”命令獲取到有用的關(guān)鍵信息,從返回的內(nèi)容來分析是索引的第3個shard導致的,在node節(jié)點[4MMOUt8-SMatWGCzX1asAQ]被鎖定。

二、處理過程

知道問題原因了就有方法解決了,我準備了三套方案,如下:

前置工作

  1. 業(yè)務將索引的讀寫請求切走
  2. 創(chuàng)建一個測試索引驗證shard是否都正常
  3. 備份索引數(shù)據(jù)

方案1:重啟索引

--刷新索引
POST indexname/_flush
--關(guān)閉索引
POST indexname/_close
---打開索引
POST indexname/_open

在本次處理過程中,使用了方案1重啟索引就已經(jīng)把問題解決了,但是方案一還是的業(yè)務配合將讀寫請求切走,否則索引close會導致應用的請求報錯

方案2:重啟節(jié)點node節(jié)點

[4MMOUt8-SMatWGCzX1asAQ]

PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "none"
}
}

PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "all"
}
}

方案2重啟鎖定shard的節(jié)點理論上來說也是可以解決這個問題,但是因為方案一已經(jīng)解決了問題就沒機會做測試

方案3.重建索引

  1. 先還原備份到一個臨時索引,驗證數(shù)據(jù)沒問題
  2. 刪除當前索引,還原創(chuàng)建新索引
方案3是最后的方案了,如果方案1和2都解決不了的話只能通過方案3進行索引重建來解決,通過備份還原的方式來恢復索引其實也是很快的

三、思考總結(jié)

其實整個問題處理過程中還有一些其它的細節(jié)在文中沒有提到,集群在默認開啟自動shard均衡過程中由于shard多次嘗試分配無法成功,達到默認的5次重試之后就會報錯,這個時候其實可以嘗試將集群的自動分片關(guān)閉"cluster.routing.allocation.enable": "none",然后執(zhí)行"POST /_cluster/reroute?retry_failed=true"來重置計數(shù),最后通過手動分片shard的方式來做遷移也有可能能解決問題。只不過在每次遇到問題的時候需要結(jié)合當時的最佳場景去做判斷,尋找影響范圍最小的方案;

?

備注:

??? 作者:pursuer.chen

??? 博客:http://www.cnblogs.com/chenmh

本站點所有隨筆都是原創(chuàng),歡迎大家轉(zhuǎn)載;但轉(zhuǎn)載時必須注明文章來源,且在文章開頭明顯處給明鏈接。

《歡迎交流討論》文章來源地址http://www.zghlxwxcb.cn/news/detail-745939.html

到了這里,關(guān)于記錄ElasticSearch分片被鎖定導致無法分配處理過程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 解決selenium訪問網(wǎng)頁中多個iframe,導致無法鎖定元素的問題

    獲取全部的iframe列表 調(diào)試獲取目標iframe 使用: browser.switch_to.frame(目標iframe) 退回到原有的狀態(tài): browser.switch_to.default_content() 不同的iframe之間的元素無法被selenium鎖定,因此需要通過人為調(diào)試,得到具體的iframe窗口,進入目標iframe后才能夠進行元素的鎖定,鎖定后就得到目標

    2024年02月22日
    瀏覽(23)
  • Elasticsearch基礎(chǔ)篇(七):分片大小修改和路由分配規(guī)則

    Elasticsearch基礎(chǔ)篇(七):分片大小修改和路由分配規(guī)則

    在Elasticsearch中,分片是對索引數(shù)據(jù)的水平劃分和分布。索引被分成多個分片,每個分片可以在集群的不同節(jié)點上存儲。這種分片的設計提供了一種水平擴展的能力,允許將大量數(shù)據(jù)分布到多個節(jié)點上,從而提高性能和可伸縮性。每個分片就是一個Lucene的實例,具有完整的功能

    2024年01月21日
    瀏覽(24)
  • Elasticsearch:如何使用集群級別的分片分配過濾(不包括節(jié)點)安全地停用節(jié)點

    Elasticsearch:如何使用集群級別的分片分配過濾(不包括節(jié)點)安全地停用節(jié)點

    當你想停用 Elasticsearch 中的節(jié)點時,通常的過程不是直接銷毀節(jié)點。 如果你這樣做,那么你就有數(shù)據(jù)丟失的風險,這不是你想要對應該是可靠的數(shù)據(jù)庫做的事情。 這樣做的問題是,節(jié)點很可能會通過 Elasticsearch 處理的恰當命名的分片分配分配給它們的分片。 Elasticsearch 中的

    2024年02月07日
    瀏覽(43)
  • 記錄Elasticsearch 分片恢復問題

    記錄Elasticsearch 分片恢復問題

    ES在重啟只有健康狀態(tài)變?yōu)閥ellow,有幾個分片未分配成功 查看原因:是因為集群恢復導致的 常見的幾種未分配原因如下: ALLOCATION_FAILED:由于分片分配失敗而未分配。 CLUSTER_RECOVERED:由于集群恢復而未分配。 DANGLING_INDEX_IMPORTED:由于導入了懸空索引導致未分配。 EXISTING_INDE

    2024年02月03日
    瀏覽(21)
  • ES踩坑記錄之UNASSIGNED分片無法恢復

    ES踩坑記錄之UNASSIGNED分片無法恢復

    我們線上有一套ES集群,三臺機器,共運行了6個節(jié)點。一直在線上跑了幾個月也一直沒出什么問題。然而好巧不巧,就在昨天,集群中的3號節(jié)點磁盤出現(xiàn)故障,導致機器直接癱瘓。本來大家覺得問題不大,ES不是有容災嗎,換個新節(jié)點上去不就能自動分配分片了。 當我們信心

    2024年02月11日
    瀏覽(16)
  • elasticsearch分片unassign問題處理

    elasticsearch分片unassign問題處理

    1、查詢集群狀態(tài)(當前為yellow) 2、查詢分片情況 看到有四個分片是 unassign ,目前都是副本分區(qū),不是主分區(qū) 3、查看unassign原因 (參考 elasticsearch官網(wǎng) cart-shards ) 看到是因為 NODE_LEFT 4、檢查有問題的shard和node對應關(guān)系 發(fā)現(xiàn)沒有 lijun_2 該節(jié)點 5、檢查集群node信息 發(fā)現(xiàn) lijun_

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

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

    2024年02月13日
    瀏覽(27)
  • 忘記Linux系統(tǒng)的root密碼怎么辦?快速找回方法,重置root密碼 、Linux 登錄賬號解鎖、密碼正確無法登錄、賬號鎖定問題處理

    忘記Linux系統(tǒng)的root密碼怎么辦?快速找回方法,重置root密碼 、Linux 登錄賬號解鎖、密碼正確無法登錄、賬號鎖定問題處理

    查看用戶登錄失敗的信息 解封用戶 方法一 ,rd.break 第 1 步:重啟系統(tǒng)編輯內(nèi)核參數(shù) 第 2 步:找到 linux 這行,在此行末尾空格后輸入rd.break?? (End鍵也可直接進入行尾) 成功后顯示頁面為: 第 3 步:以讀寫方式掛載sysroot(這里sysroot是以只讀的形式掛載的,所以要以可讀可

    2024年04月12日
    瀏覽(109)
  • 記錄 無法識別USB串口設備以及由于 Windows 無法加載這個設備所需的驅(qū)動程序,導致這個設備工作異常。 (代碼 31)

    記錄 無法識別USB串口設備以及由于 Windows 無法加載這個設備所需的驅(qū)動程序,導致這個設備工作異常。 (代碼 31)

    今天使用串口的時候突然電腦設備器顯示無法識別USB設備,在這之前都是一切沒有問題,我百思不得其解,于是我百度并且試了很多方法比如說換根線連接,重啟電腦,卸載設備(沒有卸載芯片)等之類的但是都不起作用。 后來我想起來有虛擬串口這個東西。我這邊用的是

    2024年02月12日
    瀏覽(25)
  • Oracle Exadata X7-2掉電宕機導致集群無法啟動處理過程

    Oracle Exadata X7-2掉電宕機導致集群無法啟動處理過程

    客戶突然聯(lián)系說應用無法連接數(shù)據(jù)庫,報錯如下: 集群狀態(tài)宕掉了,且無法正常啟動?。?! ping自己私有IP延遲高 ping其它主機私有IP不通 那么問題定位到私有IP不通導致的集群無法啟動,一體機內(nèi)部私有IP交互是通過自身的IB交換機完成的,很有可能是IB交換機問題,下面進行

    2024年02月08日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包