ES系列(一):编译准备与server启动过程解析

  ES作为强大的和流行的搜索引擎服务组件,为我们提供了方便的和高性能的搜索服务。在实际应用中也是用得比较爽,但如果能够更深入一点。虽然网上有许多的文章已经完整说明,ES是如何如何做到高性能,如何做到高可用的,以及有许多的避坑指南。那些,毕竟还是太描述化。

  就让我们以源码作为出发点,一探ES究竟吧,虽然也可能是片面的。

 

1. ES编译及准备

  害,其实我们不想搞编译。一个是意义不大;二个是ES是用java编写的,打包后本质上它就是一个war包或者jar包;三个是编译需要拉取外部的许多jar包依赖,而这些依赖又是在国外网站速度又是超级慢。

  简单的,直接在es官网下载个安装包就可以了。https://www.elastic.co/cn/downloads/elasticsearch  。 这是实际应用的通常路径,但不是我们学习的路径。

  如果要自己编译,也可以,直接下载源码包: https://github.com/elastic/elasticsearch.git  ; 下载gradle: https://gradle.org/releases/ ; 安装jdk11+...

  安装, 直接切到elasticsearch 源码目录运行: gradlew idea ; 即可。

  当然,中途你肯定会遇到许多问题,一般主要就是网络问题。主要就是里面依赖了许多国外网站的资源,可以进行修改:

# 搜索所有 repositories { , 将其网址替换为 aliyun 的地址,如下: repositories { // jcenter() maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' } maven { url 'https://maven.aliyun.com/repository/jcenter'} }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxwzd.html