elasticsearch shard split 分析(一)

概述

elasticsearch 從6.1版本開始支持shard split。但是和solr不同,elasticsearch并不支持針對單個shard split,而是支持索引級別的split。elasticsearch支持從一個索引split到另外一個索引,源索引的每一個shard都會split成目標索引的兩個或者多個shard。

elasticsearch使用split api有兩個限制條件。其一是在創(chuàng)建源索引的時候必須指定number_of_routing_shards參數。該參數用于確定哈??臻g,下文會具體分析該參數的作用。但是到7.0版本后該參數可以不用人為指定,elasticsearch會幫我們自動生成該參數的值。其二是準備split時必須將源索引阻塞寫操作,目的是為了保證split過程中如果出什么問題能不丟數據。

用法

創(chuàng)建源索引

PUT my_source_index
{
"settings": {
"index.number_of_shards" : 1,
"index.number_of_routing_shards" : 2
}
}

阻塞源索引的寫操作

PUT /my_source_index/_settings
{
"settings": {
"index.blocks.write": true
}
}

split

POST my_source_index/_split/my_target_index
{
"settings": {
"index.number_of_shards": 2
}
}

監(jiān)控

可以通過_cat recover接口查看split過程

總結

簡單介紹了elasticsearch shard split 怎么使用,在下面幾篇文章中將從代碼上分析split是怎么實現的。
elasticsearch shard split 分析(二)
elasticsearch shard split 分析(三)
elasticsearch shard split 分析(四)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容