如何在IntelliJ IDEA中设置和运行/调试ElasticSearch

时间:2016-06-20 12:23:45

标签: java maven elasticsearch intellij-idea gradle

我正在尝试学习ES是如何工作的,但是我无法从IDE运行它。我想运行仍然使用Maven作为其构建系统的2.3.3版本,但不断出现错误。在我详细下载存储库之后,有人可以告诉我如何在IDEA中执行此操作。配置等。

我从github下载了存储库,然后将项目导入intellij 并使用以下配置:

主类:org.elasticsearch.bootstrap.Elasticsearch

Vm选项:

-Xms256m
-Xmx1g
-Xss256k
-Djava.awt.headless=true
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=logs/heapdump.hprof
-Delasticsearch
-Des.foreground=yes
-Djava.library.path=lib/sigar
-ea
-Des.config=C:\elasticsearch-2.3.3\core\src\test\resources\config\elasticsearch.yaml>/elasticsearch.yml
-Des.logger.level=DEBUG
-Des.path.home=C:\elasticsearch-2.3.3

工作目录:ES目录

环境变量:ES_TEST_LOCAL = true

使用模块的类路径:elasticsearch(1)(org.elasticsearch)

然后当我尝试运行时出现以下错误:

error

3 个答案:

答案 0 :(得分:7)

对于5.x - 从命令行:

> gradle run --debug-jvm
Running elasticsearch in debug mode, suspending until connected on port 8000
[elasticsearch] Listening for transport dt_socket at address: 8000

从Intellij创建远程调试配置并将端口设置为8000。 enter image description here

答案 1 :(得分:2)

先决条件:

  1. 构建根项目:mvn clean package -DskipTests(或执行run.sh)
  2. 将./distribution/src/main/resources/config复制到./core /.
  3. 按如下所示创建运行/调试配置:

    Main Class: org.elasticsearch.bootstrap.Elasticsearch   
    VM Options: -Des.path.home=/code/elasticsearch/core   
    Program Arguments: start   
    Classpath of Module : [select the core project]   
    

答案 2 :(得分:1)

从github下载Elasticsearch之后,在顶级目录中有一个名为CONTRIBUTING.md的文件,该文件描述了如何配置IDE,还有一个名为TESTING.asciidoc的文件,该文件描述了如何调试。

根据这些文本文件中包含的说明,我写了一篇博客文章,其中提供了有关如何配置IntelliJ IDEA来调试Elasticsearch和Lucene的逐步说明。

https://alexmarquardt.com/2019/02/02/debugging-elasticsearch-and-lucene-with-intellij-idea/

免责声明:我是Elasticsearch的一名咨询工程师