前提条件
jdk 17+
docker 17.5.0
linux # 也可以是其他环境,操答系统环境自备
gradle https://services.gradle.org/distributions/ #配置过程略
maven https://maven.apache.org/ #配置过程略
groovy
jdk 17+安装
#https://www.oracle.com/java/technologies/downloads/
#从Oracle java下载jdk-17_linux-x64_bin.tar.gz (略,自行百度)
tar zxvf jdk-17_linux-x64_bin.tar.gz
mv jdk-17.0.2 /usr/local
vim /etc/profile
source /etc/profile
java -version
# 如果环境中除了17还存在低版本的JDK,配置方式如下
# EXPORT JAVA_HOME8=...
---
export JAVA_HOME=/usr/local/jdk-17.0.2
export PATH=$PATH:$JAVA_HOME/bin;
docker安装
移除旧版
yum remove docker \
docker-client docker-client-lastest docker-common \
docker-lastest docker-lastest-logrotate docker-logrotate \
docker-selinux docker-engine-selinux docker-engine
rm -rf /var/lib/docker
安装Docker
#移动旧源 /etc/yum.repos.d (如存在)
rm /etc/yum.repos.d/docker*.repo
yum install -y yum-utils
#配置安装源,否则会装老版本
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
# yum erase podman 如安装过程报podman版本错误
sudo yum install docker-ce docker-ce-cli containerd.io
#启动
systemctl start docker
groovy
# Groovy3对不支持高版本的JDK
#Groovy 4.0 requires Java 8+ with support for up to Java 16.
curl -s get.sdkman.io | bash
#Open a new terminal or type the command:
source "$HOME/.sdkman/bin/sdkman-init.sh"
# 更新: sdk selfupdate force
sdk install groovy
groovy -version
编译Elasticsearch
下载
wget https://github.com/elastic/elasticsearch/archive/refs/tags/v8.0.0.tar.gz
tar zxvf tar zxvf v8.0.0.tar.gz
cd elasticsearch-8.0.0
或
git clone https://github.com/elastic/elasticsearch.git
cd elasticsearch
# 切换版本
git checkout v8.0.0
编译
# 修改gradle.properties如下参数,可检查JDK版本
# org.gradle.java.installations.auto-detect=true
./gradlew localDistro #本地环境
# ./gradlew :distribution:archives:linux-tar:assemble
# Distributions are output to distributions/archives.
控制台输出
...
100 warnings
> Task :libs:elasticsearch-ssl-config:compileJava
...
> Task :libs:elasticsearch-nio:compileJava
...
> Task :x-pack:plugin:sql:sql-proto:compileJava
...
> Task :x-pack:plugin:sql:sql-client:compileJava
...
> Task :server:compileJava
...
# 编译进度
<====---------> 99% EXECUTING [1m 30s]
...
调试环境
1. 按如上要求配置环境
2. 打开ideal工具,导入程序
-
用 IntelliJ Idea 打开 ElasticSearch 源码根目录中的 build.gradle 文件,系统会提示
image.png
-
-
针对es工程的Gradle的配置如下
image.png
-
配置好点“确定”按钮,需要等待加载过程。
2. 源码编译
image.png编译后控制台输出
image.png
3.启动ES
(待补充)
网友评论