elasticsearch
文章平均质量分 79
JinchaoLv
抄底上天台。
展开
-
elasticsearch源码:ping的发送与处理过程
一个节点通过向其它节点发送ping请求来发现其它节点的存在。这里只讨论在新节点启动时发送的ping请求。代码入口从UnicastZenPing类的ping方法入手: /** * a variant of {@link #ping(Consumer, TimeValue)}, but allows separating the scheduling duration ...原创 2018-11-26 22:12:54 · 1557 阅读 · 0 评论 -
elasticsearch源码:unicast列表解析
现在es的集群发现用的是unicast模式,所以要将新节点加入集群,需要配置unicast节点地址列表,也就是discovery.zen.ping.unicast.hosts,默认值是本机,除非要将集群部署在同一台机器上,否则必须配置。下面进入源码看一下读取unicast节点列表的具体过程。入口在UnicastZenPing类的下面这个方法里面: /** * a varian...原创 2018-11-26 21:32:39 · 694 阅读 · 0 评论 -
从elasticsearch源码看节点启动流程
本文尝试通过阅读源码的途径,了解elasticsearch节点启动的大体流程。1. 读取配置创建运行环境运行环境,这里指的是Environment对象,这个对象封装了Settings对象(es配置),data路径,plugins路径,modules路径,bin路径,libs路径,log路径等。相关源码: /** Create an {@link Environment} for th...原创 2018-11-19 19:15:05 · 648 阅读 · 0 评论 -
elasticsearch源码运行调试的问题
由于官方文档对es原理方面的讲解非常少,所以如果时间允许可以自己下载源码在本地调试。首先在github上可以下载到各个版本的源码,写作本文时最新的是6.4.2版本:https://github.com/elastic/elasticsearch/tree/v6.4.2下载的源码是gradle项目,所以需要安装gradle,对版本有要求,我用的是4.10.2版本。对java的版本也有要求,我用...原创 2018-11-19 19:11:45 · 2102 阅读 · 0 评论