一、下载源代码
直接用idea下载代码https://github.com/elastic/elasticsearch.git
导入idea
切换到特定版本的分支:比如7.17,之后idea会自己加上Run/Debug Elasitcsearch的,配置可以不用改,默认就好
切换分支
二、修改设置(可选)
为了方便, 在 gradle/run.gradle 中关闭 Auth 认证:
setting 'xpack.security.enabled', 'false'
或者使用其中的用户名密码:
user username: 'elastic-admin', password: 'elastic-password', role: 'superuser'
三、启动
先启动上面的 remote debug, 然后用 gradlew 启动项目:
./gradlew :run --debug-jvm
打开浏览器http://localhost:9200即可看到es相关信息了
es首页
四、问题点
4.1 有时候会报错,当前jdk为15,但所需jdk为17之类的,需要升级jdk,然后把.idea下的东西删掉,再重新导入
同时也可以使用alternatives指定java环境变量,更加简单
[root@master ~]# alternatives --config java
There are 4 programs which provide 'java'.
Selection Command
-----------------------------------------------
1 java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.11.0.9-2.tl3.x86_64/bin/java)
2 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.tl3.x86_64/jre/bin/java)
3 /data/jdk-19/bin/java
*+ 4 /usr/java/jdk-17.0.2/bin/java
Enter to keep the current selection[+], or type selection number:
4.2 某天更新代码之后报错
Execution failed for task ':build-tools-internal:compileGroovy'.
> BUG! exception in phase 'semantic analysis' in source unit '/Users/wenzhihuai/IdeaProjects/elasticsearch/build-tools-internal/src/main/groovy/org/elasticsearch/gradle/internal/AntFixtureStop.groovy' Unsupported class file major version 63
解决中
五、搭配kibana
在mac用docker也行,但估计其他容器占用比较大,故从官网下载kibana mac版就好了,配置的时候还是要去掉es的鉴权。