本文是《ElasticSearch搜索引擎详解》系列文章的第一篇:ElasticSearch详解——1.源码编译和本地Debug环境搭建。
有兴趣的读者可以订阅《ElasticSearch搜索引擎详解》专栏,及时获取最新文章通知。
说明:本文章使用的ES版本是:6.7.0
1、环境准备1.1、JDK安装Elastisearch 6.7.0编译需要JDK版本10.0及以上。
建议直接安装JDK12。
JDK12下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html,在该地址中选择对应的JDK版本和环境安装包下载安装即可。
1.2、Gradle安装还需要安装Gradle,Mac环境安装命令:brew install gradle;其他环境到官网下载安装包进行安装。
1.3、Elastisearch源码下载直接到Github下载源码,切换到对应的分支版本即可。
代码语言:txt复制git clone https://github.com/elastic/elasticsearch.git
git tag
git checkout v6.7.02、使用IDEA 导入源码2.1、将工程Import到IDEA进入Elastisearch根目录,把源码编译为IDEA工程:./gradlew idea使用IDEA进行Import项目,选择Elasticsearch目录进入配置页面:选择Elasticsearch目录进入配置页面,选择Gradle导入后,点击下一步:选择如下的选项,点击Finish,导入源码到IDEA完成。2.2、在IDEA中Debug代码使用IntelliJ在本地调试ES,有两种方式,一种是直接在IntelliJ上运行ES进行调试,但需要很多繁杂得配置。
配置方法:进入IDEA,Run -> Edit Configurations
其中虚拟机的配置(VM options)参数如下:
elasticsearch.policy如下:
最后,运行org.elasticsearch.bootstrap.Elasticsearch::main(java.lang.String[])方法就可以调试了。
2.3、远程调试另一种是远程调试,先用debug模式,在本地启动ES服务:./gradlew run --debug-jvm
可以看到,debug模式监听的端口是8000。
然后在IDEA中添加一个Remote远程服务,如下图:
然后在IDE代码中设置断点,点击debug按钮:
同时也可以通过访问接口:curl http://127.0.0.1:9200 查看ES信息
curl http://127.0.0.1:9200/_cat/health?v 查看ES健康状况
下一篇文章将详细说一下ES的启动过程。