不同業務情境(通用、資料分析、資料庫加速、搜尋等)對Elasticsearch的叢集參數和索引配置有不同要求。情境化配置模板將這些最佳實務預置為可選模板,選擇匹配的情境後系統自動應用推薦配置,減少因配置不當導致的叢集異常和效能問題。
情境化配置模板包含三種配置類型:
-
叢集動態配置:動態修改叢集層級設定,等同於執行
PUT /_cluster/settings命令。詳細資料,請參見Cluster update settings。 -
索引模板配置:定義建立新索引時自動應用的模板,不影響現有索引,等同於執行
PUT _template/aliyun_default_index_template命令。詳細資料,請參見Index templates。 -
索引生命週期配置:管理索引在hot、warm、cold、delete各階段的自動流轉策略,等同於執行
PUT _ilm/policy/aliyun_default_ilm_policy命令。僅6.7.0及以上版本且購買冷資料節點的執行個體支援。詳細資料,請參見Setting up a new policy。
適用範圍
該功能僅適用於v2架構叢集。如何識別ES叢集架構版本:
登入ES控制台,在執行個體基本資料頁面查看管控部署模式:雲原生新管控(v3)或者基礎管控(v2)。
使用須知
-
不同版本及類型的執行個體支援的情境化配置模板不同,以控制台實際配置為準。開啟Indexing Service索引構建服務的執行個體僅支援日誌情境。
-
修改情境化模板等同於執行
PUT _template/aliyun_default_index_template,不會觸發執行個體重啟,不影響現有索引及叢集狀態。 -
系統推薦的索引模板名稱為aliyun_default_index_template,order優先順序為Integer.MIN_VALUE+1(不建議修改),低於自訂模板,不會影響自訂模板的配置。
-
系統推薦的索引生命週期策略名稱為aliyun_default_ilm_policy,預設已應用到aliyun_default_index_template模板。
-
開啟索引生命週期配置不影響在叢集上獨立建立其他的索引生命週期策略。索引生命週期中不支援close配置。
-
新購執行個體時可在購買頁選擇情境。商業版預設選擇通用情境,核心增強版預設選擇日誌情境。購買成功後,對應模板配置自動應用到叢集。如果情境化配置模板為不啟用狀態,可按照以下步驟手動啟用。啟用後模板不會自動應用到叢集,需提交才可應用。
-
由於ES執行個體的管控版本差異,不同執行個體在控制台的情境化配置可能不同。如果控制台沒有情境化配置,可直接使用ES API(
PUT _template/aliyun_default_index_template)進行設定。 -
如果叢集未購買冷資料節點或低於6.7.0版本,索引生命週期配置入口預設關閉。如需使用,可參見Elasticsearch ILM手動設定。
修改情境化配置模板
-
在左側導覽列,單擊Elasticsearch執行個體。
-
進入目標執行個體。
-
在頂部功能表列處,選擇資源群組和地區。
-
在Elasticsearch執行個體中單擊目標執行個體ID。
-
-
在左側導覽列,單擊進階設定。
-
在情境化配置地區,單擊情境化配置模板右側的修改。
-
在修改情境化配置對話方塊中,選擇一個情境化模板 ,單擊確認。修改情境化配置為動態修改,無需重啟叢集。
-
修改情境配置模板。
情境配置模板包含三種配置類型:
-
叢集動態配置:動態修改叢集設定,等同於執行
PUT /_cluster/settings命令。詳細資料,請參見Cluster update settings。 -
索引模板配置:定義建立新索引時自動應用的模板。更改模板不會影響現有索引,等同於執行
PUT _template/aliyun_default_index_template命令。詳細資料,請參見Index templates。 -
索引生命週期配置:6.7.0及以上版本的執行個體支援啟用索引生命週期模板,等同於執行
PUT _ilm/policy/aliyun_default_ilm_policy命令。詳細資料,請參見Setting up a new policy。
以下操作以修改索引模板配置為例,其他配置類型操作方式相同。
-
單擊索引模板配置。
-
在索引模板配置頁面,單擊 一鍵應用模板。
相關功能說明如下:
-
一鍵應用模板:將右側的推薦模板應用到左側的當前配置中。應用後才可修改當前配置。
-
查看對比:查看當前配置和推薦模板的差異。僅在修改過當前配置後可用,進入對比狀態後無法編輯配置。
-
重設:將當前配置重設為叢集當前應用的配置。
-
-
在頁面左側的當前配置中,修改當前模板的配置。
-
修改完成後,單擊查看對比,查看修改後的配置與推薦模板配置的差異。
對比頁面左欄顯示當前配置,右欄顯示情境化推薦模板(通用情境)配置,差異行以顏色高亮標註。例如
search.slowlog.threshold.fetch的 warn/trace/debug/info 閾值當前均為0ms,推薦值分別為200ms、50ms、80ms、100ms。確認無誤後,單擊 一鍵應用模板 應用推薦配置,或單擊 退出對比 返回編輯,也可單擊 重設 恢複預設值。 -
單擊退出對比。
-
-
單擊提交。
提交後,修改後的配置會應用到叢集中。
叢集動態配置參數
啟用情境化模板配置後,您可以動態更改叢集的設定模板。本文介紹叢集動態配置的相關參數說明。
|
參數 |
說明 |
|
|
在特定節點上分配的每個索引的分區數量權重因子,預設為0.55f。提高該參數值,會增加在叢集中所有節點上均衡每個索引的分區數的趨勢。搜尋情境下提高該參數值,例如提高到0.8f,可以使單個索引的分區在節點間分布得更均勻,提高查詢效能。 |
|
|
節點上分配的分區總數的權重因子,預設為0.45f。提高該參數值,會增加均衡叢集中所有節點的分區數量的趨勢。 |
|
|
單次響應返回的Bucket的最大數量。Elasticsearch 6.2版本開始支援該參數,預設值為-1,表示不限制,但是當結果超過10000個Bucket時會記錄deprecation警示日誌。Elasticsearch 7.x版本預設配置為10000。 |
索引模板配置參數
啟用情境化模板配置後,您可以動態更改叢集的索引模板。本文介紹叢集索引模板的相關參數說明。
推薦的索引模板名為aliyun_default_index_template,order預設為Integer.MIN_VALUE+1(不建議修改,防止影響自訂模板),低於您自訂的模板。在不影響您自訂配置模板的基礎上,推薦索引模板能夠為您推薦適用於您使用情境的索引模板配置。
分區與績效參數
|
參數 |
說明 |
|
|
模板匹配的索引模式,支援萬用字元,預設為 |
|
|
索引的主分區數。7.x版本之前預設為5,7.x版本(含7.0)之後預設為1。設定為1可有效控制叢集分區數量,防止分區過多導致叢集壓力過大。 |
|
|
refresh操作頻率,預設1s。即時性要求不高時可增大該值(例如10s)來降低refresh開銷,提高叢集效能。 |
|
|
節點離開叢集後副本分區延遲分配的逾時時間,預設1min。增大該值(例如5min)可加快叢集恢複速度。 |
Segment合并參數
|
參數 |
說明 |
|
|
每層segment的數量。值越小segment越少,合併作業越多,索引效能越低。預設值為10,不應低於 |
|
|
索引過程中單個segment的最大容量(近似值),預設5GB。 |
Translog參數
|
參數 |
說明 |
|
|
資料更新操作後是否同步將translog落盤。可選值:
|
慢日誌參數
|
參數 |
說明 |
|
|
慢查詢記錄層級。 |
|
|
warn層級的慢查詢日誌閾值。 |
|
|
info層級的慢查詢日誌閾值。 |
|
|
debug層級的慢查詢日誌閾值。 |
|
|
trace層級的慢查詢日誌閾值。 |
|
|
warn層級的慢擷取日誌(fetch)閾值。 |
|
|
info層級的慢擷取日誌(fetch)閾值。 |
|
|
debug層級的慢擷取日誌(fetch)閾值。 |
|
|
trace層級的慢擷取日誌(fetch)閾值。 |
|
|
慢索引的記錄層級。 |
|
|
記錄source的大小。 |
|
|
warn層級的慢索引日誌閾值。 |
|
|
info層級的慢索引日誌閾值。 |
|
|
debug層級的慢索引日誌閾值。 |
|
|
trace層級的慢索引日誌閾值。 |
其他參數
|
參數 |
說明 |
|
|
索引的生命週期策略名稱稱。 |
|
|
是否啟用 |
索引生命週期配置參數
索引生命週期策略定義了索引在各階段的流轉規則。開啟後策略名稱為aliyun_default_ilm_policy,預設應用到aliyun_default_index_template模板。可通過Elasticsearch API(Getting templates和Get lifecycle policy API)查看。
-
開啟情境化索引生命週期配置功能,不影響在叢集上獨立建立其他的索引生命週期策略。
-
如果您的叢集未購買冷資料節點或者低於6.7.0版本,索引生命週期配置入口預設是關閉。如果您需要使用該功能,可參見Elasticsearch ILM進行手動設定。
-
索引生命週期中,不支援close配置。
|
參數 |
說明 |
|
|
索引進入hot階段所需的時間。 |
|
|
hot階段索引的優先順序。 |
|
|
索引進入warm階段所需的時間。 |
|
|
warm階段索引的副本數。 |
|
|
warm階段索引分區分配的策略。例如將分區分配到warm節點。 |
|
|
warm階段索引的優先順序。 |
|
|
索引進入cold階段所需的時間。 |
|
|
cold階段索引的優先順序。 |
|
|
索引進入delete階段所需的時間。 |