编译环境
Gradle:Elasticsearch使用gradle做为构建工具。官网安装说明
JDK17: Elasticsearch 8.5.3 基于jdk17编译。
IDEA导入
IDEA选择File->Open,选择build.gradle文件,点击OK
点击 OPEN AS PROJECT
耐心等待工程导入完毕.
远程调试
工程导入完成后,会自创建一个Debug Elasticsearch运行配置.
点击运行Debug Elasticsearch,启动远程调试。
Gradle命令启动Elasticsearch
在终端运行./gradlew run --debug-jvm命令,以debug模式启动Elasticsearch。
PS D:\download\elasticsearch-8.5.3\elasticsearch-8.5.3> ./gradlew run --debug-jvm
Starting a Gradle Daemon, 1 busy and 6 stopped Daemons could not be reused, use --status for details
<=======------> 57% CONFIGURING [3m 7s]
启动完成后,在浏览器输入http://localhost:9200 弹出用户名密码验证框,输入 elastic-admin/elastic-password即可。
修改配置禁用身份认证
Elasticsearch的启动类为org.elasticsearch.bootstrap.Elasticsearch.设置断点跟踪代码可以查看节点配置。
如图,配置文件在build/testclusters/runTask-0/config目录下,打开elasticsearch.yml配置文件,身份认证是启用的。xpack.security.enabled: true
但这里没办法直接修改配置,因为此处的文件都临时生成的。这些配置项从elasticsearch.run.gradle文件中创建,修改 setting xpack.security.enabled: false即可
debug rest api
Elasticsearch的Rest API入口为org.elasticsearch.rest.RestController.dispatchRequest(RestRequest request, RestChannel channel, ThreadContext threadContext)方法,设置一个断点,在浏览器输入http://localhost:9200 回车即可进入断点了。