Elasticsearch源码编译启动教程

前言

本教程选择Elasticsearch6.5.2版本,JDK11版本,ES对JDK版本的要求还是很高的,请选择时要注意对应的JDK版本要求。

第一步

github下载源码,找到对应的版本,直接下载zip包

在这里插入图片描述

第二步

源码包下载下来以后,直接导入IDEA,如果jdk版本满足要求,就会直接开始编译。

在这里插入图片描述

报错一:

You must run gradle idea from the root of elasticsearch before importing into IntelliJ

解决方式:执行 gradlew idea 命令即可

在这里插入图片描述

在这里插入图片描述

第三步

再重新执行gradle task

在这里插入图片描述

在这里插入图片描述

执行完成,小飞象全部出来了

在这里插入图片描述

第四步

执行Elasticsearch类的main方法。

在这里插入图片描述

报错二:

ERROR: the system property [es.path.conf] must be set

报错三:

Execution failed for task ':server:Elasticsearch.main()'.

在这里插入图片描述

在这里插入图片描述

解决方式:添加启动参数

-Des.path.conf=D:\es_source\elasticsearch-6.5.2\distribution\src\config
-Des.path.home=D:\es_source\elasticsearch-6.5.2\distribution

重新执行

报错四:

ERROR: no log4j2.properties found; tried [D:\es_source\elasticsearch-6.5.2\distribution\src\config] and its subdirectories

在这里插入图片描述

解决方式:添加启动参数

-Dlog4j2.disable.jmx=true

重新执行

报错五:

Caused by: ParsingException[Failed to parse object: expecting token of type [START_OBJECT] but found [VALUE_STRING]]

解决方式:修改elasticsearch.yml配置文件
在这里插入图片描述

可以直接先注释掉
在这里插入图片描述

重新执行

报错六:

Caused by: java.lang.ClassNotFoundException: org.elasticsearch.plugins.ExtendedPluginsClassLoader

解决方式:修改server中的build.gradle文件,找到compileOnly,修改为compile
在这里插入图片描述

启动、验证

终于不报错了
在这里插入图片描述

启动完成了,请求默认9200端口成功获得响应。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/CSDN_WYL2016/article/details/120552915