ElasticSearch生成环境中如何创建索引,分片副本怎么设置?
经常被问到的问题,集群设置几个节点,索引怎么创建,分配几个几个分片,内存、CPU要多大?
怎么根据自己需要存储的数据量,来规划?
如何创建索引,分片副本
一、 如何创建索引呢?
两种方式:
1、 按日期创建
2、 按数据大小创建
3个条件:
选择哪种方式, 依赖于下面3个条件
1、 每个分片存放数据20-40G。最大不要超过50G
2、 每个节点的分片数量低于每1GB堆内存配置20到25个分片。
3、 最大JVM堆空间 是 30~32G, 【原因这里就不多说了–主要原因jvm在内存小于32G的时候会采用一个内存对象指针压缩技术】
二、 分片设置多少?
注意: 分片数量一旦设置是不能修改的。
分片个数大于等于集群节点的个数,建议设置集群节点个数。
三、 副本数设置
注意:副本数是可以通过配置随时修改的。
副本数设置,1个副本足够,除非你对系统的健壮性有异常高的要求
四、 节点如何设置
当集群节点数设置小于等于3时,建议所有节点都设置master和data。
当集群节点大于3时,根据业务场景需要,建议:逐步独立出Master节点