40.1 集群规格选型
- 根据业务数据量及读写性能要求选择合适的冷热节点规格
- 副本数量:副本有利于增加数据的可靠性,但同时会增加存储成本
- 数据膨胀:除原始数据外,ES 需要存储索引、列数据等,在应用编码压缩等技术后,一般膨胀10%
- 内部任务开销:ES 占用约20%的磁盘空间,用于 segment 合并、ES Translog、日志等。
- 操作系统预留:Linux 操作系统默认为 root 用户预留5%的磁盘空间,用于关键流程处理、系统恢复、防止磁盘碎片化问题等。
- 预留空间:为保证集群的正常运行建议预留50%的存储空间
- 存储量计算:
- 根据冷热数据各自数据量及要求保留时间,计算出冷热数据源数据量,然后使用如下公式计算出
- 冷热节点各自的磁盘需求量实际空间 = 源数据 * (1 + 副本数量) * (1 + 数据膨胀) / (1 - 内部任务开销) / (1 - 操作系统预留) ≈ 源数据 * (1 + 副本数量) * 1.45 ES建议存储容量 = 源数据 * (1 + 副本数量) * 1.45 * (1 + 预留空间) ≈ 源数据 * (1 + 副本数量) * 2.2
40.2 计算资源预估
- ES 的计算资源主要消耗在写入和查询过程,而不同业务场景在写入和查询方面的复杂度不同、比重不同,导致计算资源相比存储资源较难评估
- 日志场景:日志属于典型的写多读少类场景,计算资源主要消耗在写入过程中
- Metric 及 APM 等结构化数据场景
- 站内搜索及应用搜索等搜索场景
40.3 搭建集群自建
- 对热节点增加如下配置
node.attr.temperature: hot
- 对冷节点增加如下配置
node.attr.temperature: warm
- 使用如下命令可以验证节点冷热属性
GET _cat/nodeattrs?v&h=node,attr,value&s=attr:desc
node attr value
node1 temperature hot
node2 temperature hot
node3 temperature warm
node4 temperature hot
node5 temperature warm
...
大数据视频推荐:
腾讯课堂
CSDN
ELK入门精讲
AIOps智能运维实战
ELK7 stack开发运维
大数据语音推荐:
ELK7 stack开发运维
企业级大数据技术应用
大数据机器学习案例之推荐系统
自然语言处理
大数据基础
人工智能:深度学习入门到精通