1.github下载elasticsearch的源码包
2.本地jdk用1.8
3.gradle版本为4.10.3
4.解压源码后,修改源代码根目录下的build.gradle文件,加入阿里云的maven镜像:allprojects {
repositories {
maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }}}
5.在elasticsearch home目录执行gradle idea报错
报错如下:
D:\code\elasticsearch-5.6.14>gradle idea
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/4.10.3 ... html.
Daemon will be stopped at the end of the build stopping after processing
FAILURE: Build failed with an exception.
* Where:
Build file 'D:\code\elasticsearch-5.6.14\benchmarks\build.gradle' line: 31
* What went wrong:
A problem occurred evaluating project ':benchmarks'.
> Failed to apply plugin [id 'carrotsearch.randomized-testing']
> Cannot add task 'test' as a task with that name already exists.
6.经别人提醒,发现以上报错原因是由于gradle版本的原因导致的
7.尝试更换gradle 版本未4.3.1后编译成功
8.导入工程至idea
9.运行org.elasticsearch.bootstrap.Elasticsearch main函数,报错,JVM参数加上:-Des.path.home=D:\code\esData解决
Exception in thread "main" java.lang.IllegalStateException: path.home is not configured
at org.elasticsearch.env.Environment.<init>(Environment.java:128)
at org.elasticsearch.env.Environment.<init>(Environment.java:118)
at org.elasticsearch.node.InternalSettingsPreparer.prepareEnvironment(InternalSettingsPreparer.java:90)
at org.elasticsearch.cli.EnvironmentAwareCommand.createEnv(EnvironmentAwareCommand.java:75)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134)
at org.elasticsearch.cli.Command.main(Command.java:90)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84)
10.JVM参数加上:-Dlog4j2.disable.jmx=true
2019-06-19 19:49:06,479 main ERROR Could not register mbeans java.security.AccessControlException: access denied ("javax.management.MBeanTrustPermission" "register")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:585)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.checkMBeanTrustPermission(DefaultMBeanServerInterceptor.java:1848)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:322)
at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:522)
at org.apache.logging.log4j.core.jmx.Server.register(Server.java:393)
at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:168)
at org.apache.logging.log4j.core.jmx.Server.reregisterMBeansAfterReconfigure(Server.java:141)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:558)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:263)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:207)
at org.apache.logging.log4j.core.config.Configurator.initialize(Configurator.java:220)
at org.apache.logging.log4j.core.config.Configurator.initialize(Configurator.java:197)
at org.elasticsearch.common.logging.LogConfigurator.configureStatusLogger(LogConfigurator.java:175)
at org.elasticsearch.common.logging.LogConfigurator.configure(LogConfigurator.java:143)
at org.elasticsearch.common.logging.LogConfigurator.configure(LogConfigurator.java:122)
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:307)
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132)
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123)
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:70)
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134)
at org.elasticsearch.cli.Command.main(Command.java:90)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91)
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84)
11.从可运行es目录中拷贝log4j2.properties
ERROR: no log4j2.properties found; tried [D:\code\esData\config] and its subdirectories
12.从可运行es目录中拷贝modules目录到D:\code\esData
org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Unsupported transport.type
.