35.ES集群规划—容量规划-1
2022-05-30 本文已影响0人
大勇任卷舒
35.1 容量规划
- 一个集群总共需要多少个节点? 一个索引需要设置几个分片?
- 规划上需要保持一定的余量,当负载出现波动,节点出现丢失时,还能正常运行
- 一个索引库建立5-20个分片是最合适的
- 做容量规划时,一些需要考虑的因素
- 机器的软硬件配置
- 单条文档的尺寸 / 文档的总数据量 / 索引的总数据量(Time base 数据保留的时间)/ 副本分片数
- 文档是如何写入的(Bulk 的尺寸)
- 文档的复杂度,文档是如何进行读取的(怎么样的查询和聚合)
35.2 评估业务的性能需求
- 数据吞吐及性能需求
- 数据写入的吞吐量,每秒要求写入多少数据?
- 查询的吞吐量?
- 单条查询可接受的最大返回时间?
- 了解你的数据
- 数据的格式和数据的 Mapping
- 实际的查询和聚合长的是什么样的
35.3 常见用例
- 搜索:固定大小的数据集
- 搜索的数据集增长相对比较缓慢
- 日志:基于时间序列的数据
- 使用 ES 存放日志与性能指标。数据每天不断写入,增长速度较快
- 结合 Warm Node 做数据的老化处理
35.4 硬件配置
- 选择合理的硬件,数据节点尽可能使用 SSD
- 搜索等性能要求高的场景,建议 SSD,按照 1 :10 的比例配置内存和硬盘
- 日志类和查询并发低的场景,可以考虑使用机械硬盘存储,按照 1:50 的比例配置内存和硬盘
- 单节点数据建议控制在 2 TB 以内,最大不建议超过 5 TB
- JVM 配置机器内存的一半,JVM 内存配置不建议超过 32 G
35.5 部署方式
- 按需选择合理的部署方式
- 如果需要考虑可靠性高可用,建议部署 3 台 dedicated 的 Master 节点
- 如果有复杂的查询和聚合,建议设置 Coordinating 节点
大数据视频推荐:
腾讯课堂
CSDN
ELK入门精讲
AIOps智能运维实战
ELK7 stack开发运维
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通