ElasticSearch 6.0 源码编译

首先下载 es6.0源码 ,另外下载一个es6.0的发行版本       在git上虽然显示是6.0 其实是6.0.2的版本所以在后续的安装中会跑一个异常 

  

下载完之后 可以直接通过eclipse的gradle插件导入项目或者idea的gradle导入,当然也可以使用 gradle的命令 gradle eclipse 或者 gradle idea ,因为es5.x版本以来使用gradle来管理的所以得先安装gradle才行   中间可能会各种各样的下载不了依赖什么的 见招拆招吧 编译源码后开始导入 我导入在eclipse中 报错 在运行参数中添加  

-Des.path.home=/Users/wangwang/java/es6.0/es/elasticsearch/core

 

运行后又报错  继续在运行参数中添加 -Des.path.conf=/Users/wangwang/java/es6.0/es/elasticsearch/core/src/main/resources

 

 

运行后又报错  原因是系统用户的问题  继续在运行中添加参数 Djava.security.policy=/Users/wangwang/java/es6.0/es/elasticsearch/distribution/src/main/resources/config/elasticsearch.policy

新建一个elasticsearch.policy 内容为

grant {

permission javax.management.MBeanTrustPermission "register";
permission javax.management.MBeanServerPermission "createMBeanServer";
};

 

 运行后还会报一个错 在需要在core文件夹下新建一个空的plugins即可 这里放的就是es的插件了 如ik 等,然后将发行版的modules完整拷贝到core文件夹下 注意版本一致否则会报错  建完后的elasticsearch/core 文件目录是这样的

 

 

 

 

 

 

准备完毕后还会报错 原因是 用的是源码编译而运行的时候会默认用发型版本的 如elasticsearch6.0-SNAPSHOT.jar 找到

 

org.elasticsearch.Build的78行将isSnapshot改为false 继续运行还会报错原因就是因为最开始说的版本号问题

 

 

找到org.elasticsearch.Version的138行改成 public static final Version CURRENT = V_6_0_0;

修改完成后运行

https://github.com/wangnanhui/ElasticsSearch.git  编译好的我放在git上了 直接通过gradle 导入就行 

 

posted @ 2018-05-24 23:08  王南辉  阅读(2318)  评论(0编辑  收藏  举报