elasticsearch6.2.3 冷热架构设计
生活随笔
收集整理的這篇文章主要介紹了
elasticsearch6.2.3 冷热架构设计
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
隨著集群規模越來越大,有一些冷索引不需要經常移動分片,因此把冷索引單獨存儲在冷節點中,把熱索引(最新添加的數據)存儲在熱節點中。
第一步 禁用rebalance
主要是為了防止集群中已有的索引 rebalance 到其他節點
PUT _cluster/settings {"transient": {"cluster.routing.allocation.cluster_concurrent_rebalance":0} }第二步:給節點加標識:node.attr.box_type
關于 node.attr.box_type 屬性介紹,可參考:enabling-awareness
修改hot節點的elasticsearch.yml配置文件,添加一行:
node.attr.box_type: hot修改warm節點的elasticsearch.yml配置文件,添加一行:
node.attr.box_type: warm第三步:定義通用的索引模板保證新創建索引的分片不會分配到warm節點上
當每月生成一個索引時,新建的索引,肯定是熱索引,熱索引的分片需要分配到hot節點上,不能分配到warm節點上。比如,loginmac-201908是新建的索引,其分配應該在hot節點上,假設只保留三個月的數據,那么 loginmac-201905就屬于歷史數據了,需要遷移到warm節點上去。
PUT /_template/hot_template {"template": "*","order": 0,"version": 0,"settings": {"index": {"routing": {"allocation": {"require": {"box_type": "hot"},"exclude":{"box_type": "warm"}}},"number_of_shards": 3,"number_of_replicas": 1,"refresh_interval": "50s"},"index.unassigned.node_left.delayed_timeout": "3d"} }關于index.routing.allocation.require和index.routing.allocation.exclude可參考:shard-allocation-filtering
第四步 把系統上已有索引的配置全部修改成hot配置
PUT _all/_settings {"index": {"routing": {"allocation": {"require": {"box_type": "hot"}}}} }這是為了,保證當warm節點加入集群時,不要讓熱索引遷移到到warm節點上。
修改完重啟es節點。
總結
以上是生活随笔為你收集整理的elasticsearch6.2.3 冷热架构设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微软承认 Win11 十月可选更新存在问
- 下一篇: 特斯拉 Cybertruck 电动皮卡测