python使用elasticsearch查詢報503問題解決

前言

前幾天運維的哥們悄悄的吧es升級到7之後,哥們兒我發現我的es洗數腳本在任務管理界面幾乎是清一色的滿江紅,在程序界牽一髮而動全身的情況並不少見,這下也好哥們兒我的工作量一下就來了,(免得老闆看在眼裏以爲我是個閒人,在年底把我開了!)

進入正題

公司有個業務場景需要對不同的用戶進行劃分,劃分的基礎是根據行爲,所以我只能從es日誌中找到產生過相關行爲數據的用戶讓後將這部分用戶全部提取一出來,每個小類大約都有幾萬人,有些甚至十幾萬,以往用es 6.3的使用,幾萬條數據隨便取,可是升級到7之後,所有腳本全部掛了,而且報的錯全部是503

elasticsearch.exceptions.TransportError: TransportError(503, u’search_phase_execution_exception’)

查詢日誌發現了,search.max_bucketsz這個關鍵字眼,最後google,找到問題迎刃而解,原來是以前的運維老哥早就修改了最大查詢條數,升級es的運維老哥是剛來不久的(從中可以看出,工作的細緻交接,給力的隊友是有多麼的重要),而且對es相關配置並不熟悉,而在下我只是一個數據仔,並不熟悉相關東西,踩了許久的坑,終於才把這個坑填上。
解決方法,修改最大查詢條數限制

PUT _cluster/settings
{
  "persistent": {
    "search.max_buckets": 50000
  }
}

問題解決,但是哥們兒還是得假裝問題沒有解決,工作就是你不忙,也要讓老闆看起來覺得你很忙!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章