黑马程序员技术交流社区

标题: 【成都校区】Elasticsearch 的小总结 [打印本页]

作者: 小刀葛小伦    时间: 2019-9-26 16:22
标题: 【成都校区】Elasticsearch 的小总结

一、Elasticsearch监控的常用工具

我大概用过如下的监控插件(注意此处插件的版本,不同es的版本,监控工具的安装方式可能不一样)

     1. bigdesk 统计分析和图表化elasticsearch的集群信息状态

           https://blog.csdn.net/wuzhiwei549/article/details/83211715

     2. head 能清晰看到每个分片的信息、发送rest api请求。注意安装版本要求

           https://github.com/mobz/elasticsearch-head

     3. marvel 5.*版本后集成到x-pack中了,是收费的

           https://www.elastic.co/guide/en/x-pack/current/xpack-introduction.html

      4. kopf 也是web形式,有点像head

           https://github.com/lmenezes/elasticsearch-kopf

一般head和x-pack比较常用。head的安装在5.*中比较繁琐,需要注意

二、Elasticsearch是如何实现Master选举的

master节点的职责主要包括集群、节点和索引的管理,不负责文档级别的管理;data节点可以关闭http功能。

三、Elasticsearch是如何避免脑裂现象的

true)。可以通过discovery.zen.minimum_master_nodes

这个参数的设置来避免脑裂,设置为(N/2)+1。

这里node.master : true 是说明你是有资格成为master,并不是指你就是master。是皇子,不是皇帝。假如有10个皇子,这里应该设置为(10/2)+1=6,这6个皇子合谋做决策,选出新的皇帝。另外的4个皇子,即使他们全聚一起也才四个人,不足合谋的最低人数限制,他们不能选出新皇帝。

假如discovery.zen.minimum_master_nodes 设置的个数为5,有恰好有10个master备选节点,会出现什么情况呢?5个皇子组成一波,选一个皇帝出来,另外5个皇子也够了人数限制,他们也能选出一个皇帝来。此时一个天下两个皇帝,在es中就是脑裂。

我还是用皇子的例子来说明。假如先皇在位的时候规定,必须他的两个皇子都在的时候,才能从中2选1 继承皇位。万一有个皇子出意外挂掉了,就剩下一个皇子,天下不就没有新皇帝了么。

三、客户端在和集群连接时,如何选择特定的节点执行请求的?

想了解该处,可以参考各个编程语言提供的es 库

四、Elasticsearch 文档索引过程描述

shard = hash(document_id) % (num_of_primary_shards)


关于Lucene的segement(也就是上文中所说的段)的补充:

五、Elasticsearch 文档更新和删除过程描述

六、Elasticsearch搜索的过程描述

补充:Query Then Fetch的搜索类型在文档相关性打分的时候参考的是本分片的数据,这样在文档数量较少的时候可能不够准确,DFS Query Then Fetch增加了一个预查询的处理,询问Term和Document frequency,这个评分更准确,但是性能会变差。


七、在并发情况下,Elasticsearch如果保证读写一致?

八、Elasticsearch在部署时,对Linux的设置有哪些优化方法?

补充:索引阶段性能提升方法

九、对于GC方面,在使用Elasticsearch时要注意什么?

十、ElasticSearch分页方式:

    在ElasticSearch中实现分页查询的方式有两种,分别为深度分页(from-size)和快照分页(scroll)







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2