解決elasticsearch報錯報錯“java.lang.IllegalArgumentException: Rejecting mapping update to [這里是索引名稱保密] as the final mapping would have more than 1 type: [_doc, log]"”


某日在研究kibana的索引生命周期功能,感覺對於我們現在幾千個索引蠻有用途,之前都是寫個刪除腳本呢,放到定時任務進行刪除。

通過新建一個生命后期策略,設置日期15日,並通過索引模板匹配到測試索引的時候,第二天發現該索引無任何數據,顯示索引大小283B,文檔數0,似乎是不接受數據了

通過查看elasticsearch的logs_server.json日志,發現如下報錯:

 

 

通過各種查找資料可知, 從 ES 7.0 開始,Type 被廢棄
在 7.0 以及之后的版本中 Type 被廢棄了。一個 index 中只有一個默認的 type,即 _doc。

而恰巧之前同事使用logstash向elasticsearch輸出的時候定義了一個document_type為log的配置項,果斷注釋掉該配置項,重啟logstash,重啟elasticsearch,發現我測試的索引的內容的_type列的值均為_doc了,之前顯示的log,應該是這里跟默認的有沖突。

 

 

之后索引能正常文檔數量產生,並且內容里面的_type均為_doc了,如圖,自動恢復正常,有正常的數據,等待觀察生命周期策略效果,如果測試索引能正常到期刪除,可以把范圍擴展到全部索引。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM