[ linux-006 ] ES常用知识点(2)

161 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第23天,点击查看活动详情

本章节继续上节Elasticsearch常见知识点讲解,附带分组查询代码示例

ES分片介绍

ES 5.x之后默认为5,ES 7.x默认为1

ES默认为一个索引创建1个主分片, 并分别为其创建一个副本分片. 也就是说每个索引都由1个主分片, 而每个主分片都相应的有一个copy

ElasticSearch 7.x之后,如果不指定索引分片,默认会创建1个主分片和一个副分片,而7.x版本之前的,比如6.x版本,默认是5个主分片

从 7.0 开始,默认主分片设置成了 1,解决了 over-sharding 的问题

shard也是一种资源,shard过多会影响集群的稳定性。因为shard过多,元信息会变多,这些元信息会占用堆内存。shard过多也会影响读写性能,因为每个读写请求都需要一个线程。

所以如果index没有很大的数据量,不需要设置很多shard。

ES漏洞处理

ElasticSearch远程任意代码执行漏洞(CVE-2014-3120)分析

处理办法

关掉执行脚本功能,

在配置文件末尾elasticsearch.yml里为每一个结点都加上:

script.disable_dynamic: true

/opt/package/elasticsearch-1.0.0/config/elasticsearch.yml

www.elasticsearch.org/guide/en/el…

官方会在1.2版本默认关闭动态脚本。

kopf安装

将kopf安装包解压至/usr/share/elasticsearch/plugins/kopf目录下,(此处路径请根据elasticsearch安装情况自行调整)

unzip elasticsearch-kopf-2.1.2.zip -d /usr/share/elasticsearch/plugins/

mv elasticsearch-kopf-2.1.2 kopf

无需重启,访问127.0.0.1:9200/_plugin/kopf,(此处的127.0.0.1为elasticsearch 所在服务器IP)

bigdesk安装

1.从改地址下载安装包github.com/lukas-vlcek… 后解压

2.建立elasticsearch-1.0.0\plugins\bigdesk_site文件

3.将解压后的bigdesk-master文件夹下的文件copy到_site

4.运行es

5.打开http://localhost:9200/_plugin/bigdesk/

总结

工欲善其事必先利其器,我们在了解完ES的相关概念后,可以选择合适自己的客户端工具,通过工具也能很方便的分析ES相关的问题,可能很同学在刚开始接触ES是抗拒的,尤其是java相关的聚合查询写法较为负责,不过没关系,多多熟悉一下,你会被其优异的查询性能所折服。除了kopf和bigdesk外,cerebro也是一个不错的选择