Elasticsearch源码分析

您所在的位置:网站首页 elasticsearch源码 Elasticsearch源码分析

Elasticsearch源码分析

2023-11-21 13:51| 来源: 网络整理| 查看: 265

本篇文章首发于头条号Elasticsearch源码分析 - 源码构建,欢迎关注我的头条号和微信公众号“大数据技术和人工智能”(微信搜索bigdata_ai_tech)获取更多干货,也欢迎关注我的CSDN博客。

本篇介绍一下如何从源码构建Elasticsearch,构建Elasticsearch源码是学习和研究Elasticsearch源码的基础,有助于更好的了解Elasticsearch。

环境准备 环境/软件 版本 备注 OS Ubuntu 14.04 LTS Gradle 5.4 Java 9.0.4+11 Oracle Corporation 9.0.4 [OpenJDK 64-Bit Server VM 9.0.4+11] Elasticsearch 6.2 从源码构建Elasticsearch需要注意下面几个问题:

1、从源码构建Elasticsearch需要使用Gradle,因此需要确认下是否安装了gradle,可以参考官网安装文档安装,安装步骤如下:

mkdir /opt/gradle unzip -d /opt/gradle ./下载/gradle-5.4-bin.zip ls /opt/gradle/gradle-5.4 #添加环境变量 vi ~/.bashrc #在 ~/.bashrc 文件下面加上这句 export PATH=$PATH:/opt/gradle/gradle-5.4/bin #使新增的环境变量即时生效 source ~/.bashrc #检查 gradle 是否安装配置成功 gradle -v

2、Elasticsearch编译和运行时所要求的JDK版本是不一样的,以V6.2版本为例,Runtime要求最低JDK8,Compile要求最低JDK9。不同版本的Elasticsearch应该如何确定所需JDK运行时和编译的版本呢?可以在Elasticsearch的源码里找到,如下:

/* * Elasticsearch = v6.4 */ //代码文件位置:buildSrc/src/main/groovy/org/elasticsearch/gradle/BuildPlugin.groovy //这段代码对应的配置文件分别是下面这两个: //buildSrc/src/main/resources/minimumCompilerVersion //buildSrc/src/main/resources/minimumRuntimeVersion JavaVersion minimumRuntimeVersion = JavaVersion.toVersion( BuildPlugin.class.getClassLoader().getResourceAsStream("minimumRuntimeVersion").text.trim() ) JavaVersion minimumCompilerVersion = JavaVersion.toVersion( BuildPlugin.class.getClassLoader().getResourceAsStream("minimumCompilerVersion").text.trim() )

3、在终端执行构建操作前建议把终端改为bash,不然可能会有点问题。

开始构建

具体步骤如下:

#下载源码 git clone https://github.com/elastic/elasticsearch.git #进入源码目录 cd elasticsearch #切换到一个稳定分支 git checkout 6.2 #构建源码 ./gradlew assemble

看到下面输出表示构建成功了。

BUILD SUCCESSFUL in 10m 15s 505 actionable tasks: 505 executed 测试

构建成功后就可以启动Elasticsearch了,如下:

#在源码目录下执行 ./gradlew run

启动成功后浏览器打开127.0.0.1:9200显示如下:

{ "name" : "node-0", "cluster_name" : "distribution_run", "cluster_uuid" : "E3qa7TIkTTGNP32WizSyXg", "version" : { "number" : "6.2.5", "build_hash" : "e38fe8a", "build_date" : "2019-04-25T01:27:03.655047Z", "build_snapshot" : true, "lucene_version" : "7.2.1", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3