Java相干
问:Elasticsearch 应用 ES_JAVA_OPTS 环境变量来配置JVM,比拟罕用的配置为 Xms,最小堆内存,Xmx,最大堆内存,设置的倡议是什么?答:这两个值的最佳实际是替换2g为应用物理机或者虚拟机的内存的一半
分布式相干
问:分布式个别应用几个节点:答:分布式一半应用奇数个节点,因为如果咱们集群中有三个节点,ABC,如果A和B,C失联,那么B和C会发现连贯不上A,就会标记A失联,而他们能够选举新的主节点,所以分布式系统个别都应用2n+1 其中n>0个节点,生产零碎中,起码为3个节点。
集群衰弱度
集群衰弱度分为分片衰弱度,索引衰弱度,集群衰弱度,指标分为绿,黄,红,三个等级。
分片衰弱度
红:至多一个主分片没有被调配。黄:至多一个正本调配没有被调配 绿:主副分片都失常调配。
索引衰弱度
索引衰弱度是此分片中最差的衰弱度。
集群衰弱度
集群衰弱度是此集群上索引中最差的衰弱度。
衰弱度相干API
GET /_cluster/health 获取集群的衰弱状态GET /_cluster/health?level=indices 获取所有索引的衰弱状态GET /_cluster/health/<index> 获取单个索引的衰弱状态GET /_cluster/allocation/explain 返回第一个未调配分片的起因
集群不衰弱排查流程
在节点离线当前,有可能因为节点数量不够,导致分片无奈调配,此时须要减少新的分片,让其重新分配。
索引配置谬误,分片规定配置谬误,导致无奈调配,这个时候须要重新配置索引,重新配置分片。
磁盘空间有余:当产生磁盘空间有余的时候,有可能也会导致调配失败,这个时候须要从新划分新的磁盘空间。呈现的谬误为 DANGLING_INDEX_IMPORTE
当呈现 EXISTING_INDEX_RESTORED 谬误时候,索引被敞开,须要把索引删除,再复原。
节点诊断
节点诊断API
GET /_cat/nodes?v 查看节点到根本信息即负载状况
GET /_nodes/stats/indices 查看节点的索引详情
POST /_cache/clear 革除节点缓存
节点内存问题
Elasticserach 集群长时间GC可能会导致集群变慢,产生OOM,甚至产生离线,这个时候须要进行诊断,个别由以下这几种状况会产生节点内存OOM
缓存占用过多内存。
大量简单的嵌套聚合可能引发频繁GC
有些时候须要配置断路器用来限度申请的查问,避免出现大量的OOM
Shard
Elasticsearch把一个索引分成多个Shard存储。个别倡议单个shard大小为20G到50G,对于一般搜寻类的数据管制在20G,日志数据管制在50G,每个节点数据管制在2T。
相干API
GET /_cat/shards/<index> 查看 Shard 信息POST /<alias>/_rollover/<target-index> 当索引满足某些条件时(如数据量太大)主动切到新的索引,非常适合无奈预估大小的工夫序列类索引POST /<index>/_forcemerge 强制合并索引数据POST /<index>/_shrink/<target-index> 新建索引并缩小主分片数量POST /<index>/_split/<target-index> 新建索引并减少主分片数量POST /_reindex 重建索引
深度分页
分页有三种形式
from + size
from 定义数据偏移量,size定义数据获取量,相似于sql的offset和limit。
scroll API
scroll 相似于sql的游标,查问的时候指定scroll=工夫参数应用,返回的后果带上scroll_id 下次查问的时候只须要指定scroll_id 即可。
POST /<index>/_search?scroll=1m{ "size": 100, "query": { "match" : { "title" : "elasticsearch" } }}POST /_search/scroll { "scroll" : "1m", "scroll_id" : "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAAAD4WYm9laVYtZndUQlNsdDcwakFMNjU1QQ==" }
Search After API
Search After API 用作前一次后果作为下一次的查问条件,在查问体重应用search_after 参数,示例如下
GET <index>/_search{ "size": 10, "query": { "match" : { "title" : "elasticsearch" } }, "search_after": [1463538857, "654323"], "sort": [ {"date": "asc"}, {"_id": "asc"} ]}
看完三件事❤️
如果你感觉这篇内容对你还蛮有帮忙,我想邀请你帮我三个小忙:
点赞,转发,有你们的 『点赞和评论』,才是我发明的能源。
关注公众号 『 Java斗帝 』,不定期分享原创常识。
同时能够期待后续文章ing????