es根據磁盤使用情況來決定是否分配shard


注意兩個地方說法有出入,待實測!

es可以根據磁盤使用情況來決定是否繼續分配shard。默認設置是開啟的,也可以通過api關閉:cluster.routing.allocation.disk.threshold_enabled: false

在開啟的情況下,有兩個重要的設置:

cluster.routing.allocation.disk.watermark.low:控制磁盤最小使用率。默認85%.說明es在磁盤使用率達到85%的時候將會停止分配新的shard。也可以設置為一個絕對數值,比如500M.

cluster.routing.allocation.disk.watermark.high:控制磁盤的最大使用率。默認90%.說明在磁盤使用率達到90%的時候es將會relocate shard去其他的節點。同樣也可以設置為一個絕對值。

watermark setting可以通過update-api動態修改,默認es每隔30s會收集各個節點磁盤的使用情況,可以cluster.info.update.interval來設置時間間隔。

 

參考:http://www.voidcn.com/blog/jingkyks/article/p-3255075.html

里面有很多ES參數的詳細講解!

 

 

DiskThresholdDecider是在ElasticSearch 0.90.4版本引入的功能。它允許用戶基於可用磁盤空間來分配分片。它默認是關閉的。如果想啟動它,則需要把cluster.routing.allocation.disk.threshold_enabled屬性設置為true。這個決策者可以通過配置閾值來控制何時可以將分片分配到該節點,何時ElasticSearch應該把分片分配到其它節點。

cluster.routing.allocation.disk.watermark.low屬性允許用戶指定一個百分比閾值或者絕對數值來控制何時能夠進行分片分配。比如默認值是0.7,表示當可用磁盤空間低於70%時,新的分片才可以分配到該節點上

cluster.routing.allocation.disk.watermark.high屬性允許用戶指定一個百分比閾值或者絕對數值來控制何時需要將分片分配到其它的節點。比如默認值是0.85,表示當可用磁盤空間高於85%時,ElasticSearch會重新把該節點的分片分配到其它節點。

cluster.routing.allocation.disk.watermark.low屬性和cluster.routing.allocation.disk.watermark.high屬性都可以指定一個百分比閾值(比如0.7或者0.85)或者絕對數值(比如1000mb)。來控制何時需要將分片分配到其它的節點。比如默認值是0.85,此外,上述屬性都可以通過elasticsearch.yml靜態設置或者用ElasticSearch API動態調整。

參考:http://udn.yyuap.com/doc/mastering-elasticsearch/chapter-4/43_README.html


免責聲明!

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



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