Elasticsearch學習(2)--ES配置加載

上節,我們學習到了如何從源碼啓動 elasticsearch,從現在開始我們來深入閱讀源碼

本節來簡單看一下 es 是如何加載配置的。

一,ignorePrefixes
跟蹤了代碼,發現settings 來源於 org.elasticsearch.node.internal.InternalSettingsPreparer,首先定義了一個忽略的配置前綴 String[] ignorePrefixes = new String[]{"es.default.", "elasticsearch.default."};,推測是爲了防止重複配置,儘可能使用項目內的配置項,而忽略系統的配置項。

二,useSystemProperties
定義了 useSystemProperties 是否使用系統配置,啓動項目時,傳入的配置爲空,也就是說此值爲 true ,也即使用系統配置裏面前綴爲 elasticsearch.default.,elasticsearch.,es.default.,es.的配置項。

三,loadConfigSettings
構造方法裏面,傳入了這個選項,是否加載配置文件。首次啓動時,當然是加載啦!根據 useSystemProperties 判斷是否加載系統內部的配置選項,同時會設置 loadFromEnv,如果系統已經有配置,則 loadFromEnv 爲 false ,即,不從配置文件加載。否則會從 elasticsearch.yml,elasticsearch.json, elasticsearch.properties 這三個文件中依次加載

四,force
去除 force. 開頭的配置的前綴

五,name.txt
從此文件中,加載一個名字,具體用途,還不清楚。先佔坑

六,cluster name
配置默認的 cluster name,如果在配置文件中已經存在,則不使用默認配置

七,添加日誌目錄

最後,希望本文對你有所啓發,早日開始elasticSearch 的源碼閱讀

發佈了106 篇原創文章 · 獲贊 49 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章