jasper的技术小窝

关注DevOps、运维监控、Python、Golang、开源、大数据、web开发、互联网

elasticsearch源码分析之ThreadPool模块

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 3063 次 | 发布:2015-12-12 9:31 p.m.

在ES中所有的action都是由一些线程去执行的(额,感觉说了一句废话),当然多线程的话就需要线程池来控制,其线程的实现与控制就是有threadpool模块来决定,其实之前的很多模块里面都有用到threadpool,那么本文就来详细地说一说ES的线程池模块——ThreadPool。

阅读全文

如何在IDE中运行elasticsearch

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 2487 次 | 发布:2015-12-06 11:56 p.m.

现在插播一篇,之前还一直没有源码跑过Elasticsearch,如果想调试Elasticsearch,或是对它做一些修改,那么就需要在IDE中将之在本地跑起来,不像直接下载的包,对于源码的运行还需要一些额外的注意。

阅读全文

elasticsearch源码分析之Merge

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 2609 次 | 发布:2015-12-06 10:06 p.m.

上一篇中说道数据被flush到磁盘之后,其实是一个一个小的segment,这样的segment每秒都在产生,大量的segment会占用大量的资源,而且每次search的时候会去遍历所有的segment,从而导致性能低下,ES为了优化,在后面运行任务将这种小的segment归并为较大的,这个过程就叫做“merge”,这篇文章就来探究探究merge是怎么工作的。

阅读全文

elasticsearch源码分析之索引过程(二)

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 2273 次 | 发布:2015-12-05 6:06 p.m.

接着上一篇的,在写入了buffer和translog之后,数据仍然不能被搜到,必须还得执行一个操作---refresh,而将segment刷到磁盘还需要一个操作---flush;为了保证数据的一致性,还需要一个之前提到的translog,那么我们这篇就来研究他们是怎么工作的。

阅读全文

elasticsearch源码分析之索引过程(一)

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 3502 次 | 发布:2015-11-28 10:41 p.m.

接着上一篇说了发送端的情况,现在我们来聊聊ES数据接收端都干了些啥,ES是怎么把数据插进去的,这一部分ES的那帮人写的挺绕的,好不容易才疏通。

阅读全文

elasticsearch源码分析之java客户端

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 2922 次 | 发布:2015-11-22 11:44 p.m.

本文所说的java客户端主要只是讲解一下用于插数据的client的原理,我们都知道往ES发数据有三种protocol分别是node、http和transport;其实对于其他client而言最终都是使用的http;而java是可以使用node和transport的,node方式一般很少用,所以我们只探究transport client,那么我们且来看看吧。

阅读全文

elasticsearch源码分析之Transport模块

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 1879 次 | 发布:2015-11-22 6:09 p.m.

感觉很有必要将transport模块早点看看,这个模块在elasticsearch中用的很广泛,比如之前说的集群node之间的通信、数据的传输、transport client方式的数据发送等等,只要数和通信、数据传输相关的都离不开transport模块的作用。

阅读全文

elasticsearch源码分析之Discover模块

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 1918 次 | 发布:2015-11-20 11:13 p.m.

下面我们来谈谈elasticsearch中的Discover模块,这个模块主要是用作处理elasticsearch中的集群问题,是elasticsearch中比较复杂的一个模块了吧。该模块在elasticsearch中分为两个,分别是LocalDiscover和ZenDiscover,在这里我们只说后者,因为在我们的使用中一般也是用的ZenDiscover,这也是elasticsearch默认的。

阅读全文

elasticsearch源码分析之启动过程

作者:jasper | 分类:ElasticSearch | 标签:   | 阅读 2574 次 | 发布:2015-11-19 11:12 p.m.

最近开始广泛的使用elasticsearch,也开始写一些java代码了,为了提高java代码能力,也为了更加深入一点了解elasticsearch的内部运作机制,所以开始看一些elasticsearch的源码了。对于这种广受追捧的开源项目,细细品读一定会受益匪浅,所以我会尽可能地细分成很多部分,下面我们从启动过程开始!

阅读全文

json格式化小技巧

作者:jasper | 分类:Linux | 标签:   | 阅读 982 次 | 发布:2015-10-24 12:45 a.m.

对于我们这些常年在命令行下面调试代码的人来说,对于json格式的数据的格式化一直是个头疼的问题,乱糟糟的一大堆,不利于快速获取到想要的信息,简单介绍几个有用的json数据格式化的小技巧。

阅读全文

其他分类: