节点类型
- 不同角色的节点
- Master eligible / Data / Ingest / Coordinate / Machine Learning
- 根据数据量,写入和查询的吞吐量,选择合适的部署方式
- 一个节点在默认节点角色:Master eligible、data node、ingest node
单一职责
冷热数据分离
- 标记节点
- 通过node.attr来标记一个节点
- 通过elasticsearach.yml或者通过-E命令(-E node.attr.my_node_type=hot)
- 创建索引
- 设置 settings:index.routing.allocation.require.my_node_type:hot
- 通过node.attr来标记一个节点
hot数据移动到warm节点
日志类应用,但个分片不要大于50GB
-
生产环境配置
参考官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/7.10/setup-configuration-memory.html
JVM设定
- ES6开始,只支持64位的JVM
- 将内存Xms和Xmx设置成一样,避免heap resize时引发停顿
- Xmx设置不要超过物理内存的50%;单节点上,最大内存建议不要超过32G(JVM会使用内存对象指针压缩技术)
- JVM必须使用Server模式
- linux
- 关闭swapping
- 内存设定
- 内存大小要根据Node需要存储的数据来估算
- 搜索类的比例:1:16
- 日志类:1:48 - 1:96之间
- 总数量1T,设置一个副本=2T总数量
- 内存大小要根据Node需要存储的数据来估算