一、简介
我们在研究一个中间件源码的时候,其实最好的办法就是编译他的源码,并且通过源码启动,然后这样可以在服务端进行debug,方便我们更加清晰的了解他的运行流程。
这里我们来编译启动一下Elasticsearch8.1.0的版本。
二、源码编译
1、在编译之前要准备好jdk17的环境,因为从es8之后jdk要求就是jdk17。
2、准备一个发行版的安装包,比如我们这里是8.1.0,那我们就下载一个8.1.0的版本。
发行版的作用是为我们的源码启动提供一些配置环境,比如配置文件,权限文件,jvm文件,等等那些你以前通过安装包启动时候需要的脚本和文件,这里依然需要。
3、idea最好是2024左右的,别太老了,不然会有一些奇怪的问题。
4、一个比较好的网络环境,因为我们要下载一些安装文件,或者可以配置国内的比如阿里的源都可以。
在准备好之后我们就通过git clone把源码拉下来,或者直接下载都可以,对好版本8.1.0即可。
然后用idea打开项目,选择好jdk,就把平时那几个需要配置jdk版本的地方都指向jdk17即可,除了常见的那几个地方一定要把setting下的gradle的java版本指定好。

执行 ./gradlew localDistro (注意jdk版本17)
编译完成后执行 导入项目 使用 idea open项目下的 build.gradle,等待编译结束(这里耗时会比较长)。中间失败的多执行几次就好。其余的想配置就配置一下gradle路径那些,不想配置就idea自己接管就好。
三、配置启动 elasticsearch
编译好之后,此时我们就来配置启动es。
我们需要创建一个启动配置,内容如下。

图中的vm参数需要详细讲解一下。
-Des.path.home=/Users/levi/develop/source_code/es_debug/elasticsearch-8.1.0
-Des.path.

最低0.47元/天 解锁文章
1799

被折叠的 条评论
为什么被折叠?



