您好,登錄后才能下訂單哦!
這篇文章主要講解了“ElasticSearch集群的調優方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ElasticSearch集群的調優方法”吧!
放權那些別人都能做的事情,把空出來的時間集中用在收入豐厚的活動上。放權其它無用的事情,將時間用來定位自己。
ElasticSearch集群調優
1、節點發現
單播:可以指定連接主機地址,一般設為master節點地址,如果集群環境存在多個es集群,一般使用此方法,比較安全。
在elasticSearch.yml中添加一下配置
discovery.zen.ping.unicast.hosts: ["*.*.*.61:9301", "*.*.*..62:9301","10.162.24.63:9301"]
多播:默認方式,比較簡單,集群中有能夠接收和響應的主機即可加入集群
判斷主機是否支撐多播:
使用ifconfig命令,查詢響應命令中是否含有MULTICAST屬性。
2、節點的選取配置
在elasticSearch.yml中添加一下配置
主節點配置
node.master: true
node.data: false
數據節點配置
node.master: false
node.data: true
防止腦裂配置:
discovery.zen.minimum_master_nodes: n(n:有主節點資格并互相連接的最小數目,一般是所有集群數目+1的50%)
3、時光之門
配置集群數據和元數據的避風港:
在elasticSearch.yml中添加一下配置
gateway.type=local
4、配置高查詢和高吞吐量
過濾器緩存
indices.cache.filter.size=具體內存大小或者占總內存的百分比
字段數據緩存和斷路器
indices.fielddata.cache.size: 20%(可以設置具體值2G,或者總內存百分比20%)注意:字段數據緩存的大小是無限制的,所以不小心可以導致集群內存爆炸。
indices.fielddata.breaker.limit:80%(默認值80%)也可以通過字段斷路器來實現,設置限制字段緩存所需的內存,超過設置值拋出異常
5、索引緩沖和刷新率
indices.memory.index_buffer_size: 30% 允許為索引設置最大的內存數,設置提供最大內存的30%用于給索引緩沖。也可以通過indices.memory.min_shard_index_buffer_size 屬性,默認4mb,允許為每個分片設計的最小索引緩沖。用于索引緩沖區的可用內存越多,內存中保存的文檔就越多。
index.refresh_interval屬性,默認1s(1秒),刷新率是指定文檔多快可以對搜索操作可見,等式非常簡單:刷新率越快,查詢越慢,索引的吞吐量越低,如果我們允許有一個較慢的刷新率,如10s或者30s,設置他是不錯的,這使得ElasticSearch承受的壓力更新,可以將更多的資源用于索引和查詢。
6、線程池配置
thread_pool.write.queue_size: 2000,配置寫請求隊列為2000
強烈建議調整默認線程池,另外支持索引隊列、寫隊列、讀隊列等
7、模板
可以設置多個索引的共同屬性,模板之前可以分層覆蓋,根據order屬性進行順序繼承覆蓋。
感謝各位的閱讀,以上就是“ElasticSearch集群的調優方法”的內容了,經過本文的學習后,相信大家對ElasticSearch集群的調優方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。