网上很多一坨,我这个是100%能搭建起来的,follow me
1.环境
- JDK15
- ES分支代码:7.13.0 es gitee源码链接
- ES发行版:7.12.0 (为什么要用这个版本,这里后面会讲到)es release版本
2. 导入ES源码
git clone git@gitee.com:mirrors/elasticsearch.git
git checkout 7.13.0
这一步比较重要,我们用的是7.13.0源码
3. 安装JDK
到Project Structure 安装JDK15
我这里因为已经安装过了,直接点击 “+” 安装jdk15,然后名称改成15就行
3. 项目配置
3.1 build.gradle配置阿里云
3.2 下载ES发行版
这里有个坑,你的源码版本虽然是7.13.0, 但是实际它的elasticsearch是7.12.0。
所以要下载的是这个版本的es release elasticsearch-7-12-0
下载完release之后,在es源码里面新建一个目录,我这里新建的目录名叫run_home,
然后把release下面这几个目录复制到 es7.13源码下
3.3 配置elasticsearch.yml
在这个文件里面新增如下配置:
3.4 新增elasticsearch.policy
新建一个 elasticsearch.policy 文件放到上面的 run_home/config 目录里:
grant {
permission javax.management.MBeanTruxtPermission "register";
permission javax.management.MBeanServerPermission "createMBeanServer";
permission java.lang.RuntimePermission "createClassLoader";
permission java.lang.RuntimePermission "getClassLoader";
permission java.lang.RuntimePermission "setContextClassLoader";
};
3.5 增加VM启动参数
最后在vm option中加入如下参数:
-Des.path.home=/Users/cicao/ideaProjects/elasticsearch/run_home
-Des.path.conf=/Users/cicao/ideaProjects/elasticsearch/run_home/config
-Dlog4j2.disable.jmx=true
-Djava.security.policy=/Users/cicao/ideaProjects/elasticsearch/run_home/config/elasticsearch.policy
-Des.path.plugins=/Users/cicao/ideaProjects/elasticsearch/run_home/plugins
-Dtests.security.manager=false
-Dtests.jarhell.check=false
除此之外:
点一下下面这个设置:
3.6 注释掉安全策略的检查
在你启动源码的时候,还是会发现异常:
找到这一行代码,直接注释掉:
4. debug开始玩转源码
还有什么乱七八糟的源码启动问题,可以发评论。一起讨论解决😄