問候overflowers,已經一致性設置爲「所有」和刷新設置爲true造成ElasticSearch超時
我創建要求寫入同步到所有副本及其索引被刷新/更新操作,所以我正在使用一致性:'all'和refresh:true選項。但是,這導致NodeJS elasticsearch客戶端始終超時(30000ms後)。這需要很長時間嗎?哪裏不對?
Regards
問候overflowers,已經一致性設置爲「所有」和刷新設置爲true造成ElasticSearch超時
我創建要求寫入同步到所有副本及其索引被刷新/更新操作,所以我正在使用一致性:'all'和refresh:true選項。但是,這導致NodeJS elasticsearch客戶端始終超時(30000ms後)。這需要很長時間嗎?哪裏不對?
Regards
你從Elastisearch詢問了很多。您的集羣中有多少副本?
如果你有很多副本,那麼有write consistency
到all
將需要一些時間。即使數據完整性極其重要,我感覺默認值爲quorum
就足夠了。
很好的來源,瞭解write consistency
末對從上面的鏈接
如果你的主要的數據存儲不elasticsearch幾乎可以肯定 的所有寫級別是矯枉過正。對性能的影響 可能不值得額外的耐用性保證。作爲最後的 點,應該注意的是,在腦裂故障期間,由於網絡分區 或重載,單個羣集已經分成兩部分,因此對於 顯而易見的原因,寫入一致性保證將被展開討論。
因此,我不認爲具有一致性水平,所有人都可以免受災難。
將refresh
設置爲true會導致錯誤,因爲您將每毫秒打開並編寫如此多的段。 ES每秒鐘自動更新一次碎片,因此實時更新。
看看Elasticsearch文檔Near Real Time Doc。
你會從中理解很多。
如果仍然想要堅持這些設置,那麼您需要從30秒的默認值相當大地增加超時。
如何延長超時時間? – geeko
你可以參考這個SO問題http://stackoverflow.com/questions/25908484/how-to-fix-read-timed-out-elasticsearch我仍然認爲刪除刷新=真應該解決你的問題 – ChintanShah25