栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

第一章 Elasticsearch6.8源码阅读环境搭建

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第一章 Elasticsearch6.8源码阅读环境搭建

目录

  • 一、环境说明
  • 二、基础环境搭建
    • 2.1 安装jdk
    • 2.2 安装gradle
  • 三、源码阅读环境搭建步骤
    • 3.1 源码下载
    • 3.2 导入IDEA
    • 3.3 编译打包
  • 四、调试Elasticsearch
    • 4.1本地运行

一、环境说明

操作系统Windows11
JDK版本OpenJDK12
Elasticsearch源码版本elasticsearch6.8
Gradle版本gradle-5.4.1
IDEA版本IntelliJ IDEA 2021.1

二、基础环境搭建

2.1 安装jdk

下载jdk-12,jdk-12下载地址

解压openjdk-12+32_windows-x64_bin.zip 到D:Program FilesJava

配置环境变量

2.2 安装gradle

gradle下载地址

解压gradle-5.4.1-all.zip到D盘

配置环境变量

三、源码阅读环境搭建步骤

3.1 源码下载

3.1.1 手动下载

进入GitHub官网,选择6.8分之,下载源码

elasticsearch源码下载地址

3.1.2 idea git插件下载 

File → New → Project fromVersion Control

切换分之为6.8

3.2 导入IDEA

导入代码到IDEA,之后进行jdk和gradle设置

设置jdk

设置gradle

 3.3 编译打包

idea的Terminal控制台执行命令

gradlew assemble

 ​​​​

打包的文件在distribution/archives模块中

Reload project

复制elasticsearch-6.8.23-SNAPSHOT.zip到E:optes文件夹下,并解压改名为elasticsearch-6.8

 四、调试Elasticsearch

4.1 本地运行

运行server模块的 org.elasticsearch.bootstrap.Elasticsearch 类

报错如下

点击Run → Edit Configurations

增加VM Opinton配置

-Des.path.home=E:opteselasticsearch-6.8
-Des.path.conf=E:opteselasticsearch-6.8config
-Xms1g
-Xmx1g
-Dlog4j2.disable.jmx=true
-Djava.security.policy=E:opteselasticsearch-6.8configelasticsearch.policy

在E:opteselasticsearch-6.8config文件夹中增加elasticsearch.policy文件,内容为

grant {
    permission javax.management.MBeanTruxtPermission "register";
    permission javax.management.MBeanServerPermission "createMBeanServer";
    permission java.lang.RuntimePermission "createClassLoader";
}; 

 启动Elasticsearch

[2022-01-02T21:42:43,108][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] [hfeiN1g] fatal error in thread [main], exiting
java.lang.NoClassDefFoundError: org/elasticsearch/plugins/ExtendedPluginsClassLoader
    at org.elasticsearch.plugins.PluginsService.loadBundle(PluginsService.java:547) ~[classes/:?]
    at org.elasticsearch.plugins.PluginsService.loadBundles(PluginsService.java:473) ~[classes/:?]
    at org.elasticsearch.plugins.PluginsService.(PluginsService.java:163) ~[classes/:?]
    at org.elasticsearch.node.Node.(Node.java:339) ~[classes/:?]
    at org.elasticsearch.node.Node.(Node.java:266) ~[classes/:?]
    at org.elasticsearch.bootstrap.Bootstrap$5.(Bootstrap.java:212) ~[classes/:?]
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:212) ~[classes/:?]
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[classes/:?]
    at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[classes/:?]
    at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[classes/:?]
    at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[classes/:?]
    at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[classes/:?]
    at org.elasticsearch.cli.Command.main(Command.java:90) ~[classes/:?]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) ~[classes/:?]
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[classes/:?]
Caused by: java.lang.ClassNotFoundException: org.elasticsearch.plugins.ExtendedPluginsClassLoader
    at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583) ~[?:?]
    at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[?:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
    ... 15 more
 

上述错误是由于IDEA配置不对造成

修改结果参考下图

a) gradle配置修改

 Edit Configuration

 运行

org.elasticsearch.bootstrap.Elasticsearch

 浏览器访问

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/691952.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号