关注我

转载请务必注明原创地址为:http://www.54tianzhisheng.cn/2018/08/25/es-code01/

软件环境

1、Intellij Idea:2018.2版本

2、Elasticsearch 源码版本: 6.3.2

3、JDK:10.0.2

4、Gradle : 建议 4.5 及以上版本

5、Macbook Pro 2017

安装 ElasticSearch

https://www.elastic.co/downloads/past-releases 这里找到 ElasticSearch 6.3.2 版本,下载后然后解压就好了。(注意:这个版本需要和下面的源码版本一致)

下载源码

https://github.com/elastic/elasticsearch 上下载相应版本的源代码,这里建议用 git clone ,这样的话后面你可以随意切换到 ElasticSearch 的其他版本去。

我们看下有哪些版本的:

找到了目前源码版本最新的版本的稳定版为:v6.3.2

切换到该版本:

于是就可以切换到该稳定版本了。接下来不要直接导入到 IDEA/Eclipse 中。

编译

GitHub 这里已经有描述如何导入 IDEA/Eclipse 中:

上面说了下如何编译 Elasticsearch 和如何在 ide 中配置好环境。下面说下步骤吧:(这里我只是演示在 IDEA 中如何导入)

1、在我们下载的 Elasticsearch 根目录下执行命令:(执行已经写好的脚本 gradlew)

请注意版本和我的一致,早的版本可能没有该执行脚本,需要执行 gradle idea 命令

最后结果如下:

2、导入 IDEA

idea 中 File -> New Project From Existing Sources 选择你下载的 Elasticsearch 根目录,然后点 open ,之后 Import project from external model -> Gradle , 选中 Use auto-import, 然后就可以了。

导入进去后,gradle 又会编译一遍,需要等一会,好了之后如下:

运行

打开 server 模块下的 Elasticsearch 类:org.elasticsearch.bootstrap.Elasticsearch,运行里面的 main 函数。

1、报错如下:

我们在运行的配置 vm options 如下:(后面启动流程会写为什么会报这个错误)

2、再次运行,报错如下:

我们在运行的配置 vm options 如下:(后面启动流程会写为什么会报这个错误)

3、再次运行,报错如下:

我们在运行的配置 vm options 如下:

4、如果你用的是 JDK 1.8 编译的应该还会报这个错误

有两个解决方法就是,

(1)、把源码中有关使用了 JarHell.checkJarHell 代码的地方全部注释掉就好了

(2)、换成 JDK 10 编译

两种方法我都试了是可行的,建议直接换第二种方案吧!

5、然后再启动的话,应该没问题了,出现下面日志:(网上很多人在这步就好了)

6、但是我出现了下面这个问题,一直困扰着我呢,我是直接跳过去的。

遇到的这个问题,我在 GitHub 求助信息如下:

https://github.com/elastic/elasticsearch/issues/30774

但是并没有解决我的问题,这里暂时先记录下来!我自己也跟了下源码,定位到错误信息是怎么产生的,但是没有解决方案!

总结

折腾的路上少不了各种错误烦扰你,学会解决问题!

相关文章

1、渣渣菜鸡为什么要看 ElasticSearch 源码?

2、Elasticsearch 系列文章(一):Elasticsearch 默认分词器和中分分词器之间的比较及使用方法

3、Elasticsearch 系列文章(二):全文搜索引擎 Elasticsearch 集群搭建入门教程

4、Elasticsearch 系列文章(三):ElasticSearch 集群监控

5、Elasticsearch 系列文章(四):ElasticSearch 单个节点监控

6、Elasticsearch 系列文章(五):ELK 实时日志分析平台环境搭建

[

谢谢你支持我买服务器!


支付宝


微信

](javascript:;)

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Top