一起来玩Elasticsearch,加我微信:wx1250134974
Elasticsearch认证复习准备
https://www.elastic.co/guide/cn/elasticsearch/guide/current/getting-started.html
- 容量规划(预设分片数)
#基于你准备用于生产环境的硬件创建一个拥有单个节点的集群。
#创建一个和你准备用于生产环境相同配置和分析器的索引,但让它只有一个主分片无副本分片。
#索引实际的文档(或者尽可能接近实际)。
#运行实际的查询和聚合(或者尽可能接近实际)。
注:一旦你定义好了单个分片的容量,很容易就可以推算出整个索引的分片数。 用你需要索引的数据总数加上一部分预期的增长,除以单个分片的容量,结果就是你需要的主分片个数。
- 时序数据(按时间范围索引)适用场景为聊天及日志
使用 时间范围索引。你可以着手于一个按年的索引 (logs_2014) 或按月的索引 (logs_2014-10) 。 也许当你的网页变得十分繁忙时,你需要切换到一个按天的索引 (logs_2014-10-24) 。删除旧数据十分简单:只需要删除旧的索引。
注:时序数据配以 索引别名和索引模板可以更好的运行
索引模板:
https://www.elastic.co/guide/cn/elasticsearch/guide/current/index-templates.html
3、索引副本修改(在进行批量倒数、恢复、optimize等操作时有加速效果)
POST /logs_2014-09-30/_settings
{ "number_of_replicas": 0 }
POST /logs_2014-09-30/_settings
{ "number_of_replicas": 1 }
注:没有副本会面临磁盘故障数据丢失的风险,因此慎重使用。如果能提前备份可能会好点。
备份恢复:
https://www.elastic.co/guide/en/elasticsearch/reference/5.6/modules-snapshots.html
4、optimize索引,可以降低对系统资源的占用,加快响应
POST /logs_2014-09-30/_settings
{ "number_of_replicas": 0 }
POST /logs_2014-09-30/_optimize?max_num_segments=1
POST /logs_2014-09-30/_settings
{ "number_of_replicas": 1 }
注:千万不要在繁忙的集群上进行此操作,此操作可以在不重要的集群上低峰期进行,防止消耗大量IO资源影响线上。
5、关闭旧索引
POST /logs_2014-01-*/_flush
POST /logs_2014-01-*/_close #关闭
POST /logs_2014-01-*/_open #打开
注:关闭无用索引,这样他们将不会消耗磁盘空间以外的资源。
6、归档旧索引
最后,非常旧的索引可以通过snapshot-restore API归档至长期存储例如共享磁盘或者 Amazon S3,以防日后你可能需要访问它们。 当存在备份时我们就可以将索引从集群中删除了。
一起来玩Elasticsearch,加我微信:wx1250134974