1-6-集群角色规划
ES8自2020年2月发布至今已有一年多时间 , 相较于es7而言 , 最大的改变是彻底删除_type , 并默认开启三层安全配置 , 进一步提高了集群安全性 , 同时kibana的实用性也进一步提升 , 大部分日常操作都可以通过web界面完成。本系列教程使用最新的es8.8版本 , 从运维角度出发 , 以构建日志平台为目的 , 以尽可能贴近实际生产的场景案例 , 优先使用简易的部署方式和kibana图形化界面操作。
1. 规划分析
1.1 集群架构
日志类业务 , 通常情况下首选热温架构。如果有数据归档存储需求 , 可加入冷节点存储归档数据。热节点使用高速SSD+小内存机器 , 温节点使用低速HDD+大内存机器 , 冷节点使用最便宜的DAS/SAN/磁带存储 , 组合达到最大性能和最低成本。
1.2 预估容量
原始数据量和索引后所占磁盘空间之间的比例大约为1.1, 所以20GB的原始数据预计会在磁盘上产生22GB的索引数据。加上副本分片(通常为1副本)后 , 此数值会翻倍 , 每天为44GB。在30天内 , 主副分片占用量为1320GB , 加上归档存储30天的数据(通常为0副本)占用量660GB , 总计1980GB , 这就是集群需要处理的总量。
1.3 热节点规模预估
在预估数据节点时 , 需要注意以下几点:
预留
15%警戒磁盘水位空间。为错误余量和后台活动预留
+ 5%。保留等效的数据节点以处理故障。
基于这些数据 , 我们便可以确定热节点所需的总磁盘空间和总内存量。
为保障数据完整性 , 避免单点故障 , 同一索引的主副分片不能位于同一节点 , 因此热温节点数量最少各2台。考虑到hot节点写入负载较高 , 为提高集群写入能力 , 规划三台节点 , 热节点的最低配置如下所示:
1.4 温节点规模预估
热节点上超出保留期的数据将会转移到温节点。通过计算这些节点需要存储的数据量,我们便可以预估所需的规模,计算时也需要将高磁盘水位线和后台活动预留的开销考虑在内。
温节点的最低配置如下所示
1.5冷节点规模预估
温节点上超出保留期的数据将会转移到冷节点。
本实验中仅使用一台冷节点为例演示,存储到冷节点的索引不设置副本数。冷节点的最低配置如下所示
1.6 master节点预估
除了数据节点,我们通常还需要专用master节点,在实际生产环境建议部署3台master节点,以便提高集群的弹性和可用性。由于这些节点不处理任何流量,所以它们的规模很小,后期随着业务集群规模增长再提高配置或增加master节点数。master节点的最低配置如下所示
2. 集群规划设计
组件调用关系

ES集群组件关系

节点角色与配置
建议将数据节点内存至少配置到
4G以上,随着数据写入以及Elastic Agent部署,2G内存经常会出现OOM。考虑到es节点还需要运行logstash、kibana、filebeat、kafka等服务,集群角色与配置规划如下:软件与系统版本
操作系统:
rockylinux:9.2内核版本:
5.15.49ELK版本:
8.8.2prometheus版本:2.45.0grafana版本:10.0.2
参考链接
ELK Stack生产实践——集群角色规划 (qq.com)