zoukankan      html  css  js  c++  java
  • Elasticsearch源码加载到eclipse调试

    一、为什么要调试

    Elasticsearch是一个搜索的服务框架,大部分的情况下可以利用resetful的特性,进行直接url操作通信,但是可能有时候需要修改其中的某个模块,或者希望是一个你所希望的框架,来完成个性化的定制,或者,更想清除整个的流程,这个时候就需要对源码进行加载调试了,搜了网上的很多资料,发现相关的很少,所以在此将如何调试加载到eclipse中进行简单的介绍

    二、所有的步骤

    (1)下载elasticsearch源码,本人所使用的是elasticsearch2.1.0,下载地址为https://github.com/elastic/elasticsearch/releases

    (2)解压到下载的文件夹,使用eclipse导入file->import->maven->existing maven project,将elasticsearch下面的core目录导入,如下所示:

    (3)可能会出现导入错误,如下所示,这个时候可以直接finish直接结束忽略掉

    (4)这个时候会出现pom.xml错误,例如Plugin execution not covered by lifecycle configuration: 这种,如下图所示,解决办法如下图2所示,直接点ignore,直接点ok,之后会出现overriding以及id冲突之类的,直接remove,顺序如下图所示

    图1-pom.xml错误

                                                                                                                                    

                                                                                                                                              图2-直接ignore

                                                                                                               

                                                                                                                      图3-ignore之后点ok

    图4-overriding,冲突错误,直接remove

    (5)直接点工程,右键 maven->update project,将force勾上,这个步骤是maven中央库进行更新jar包,可能有时候会缺少一些jar包,到时候可以多做几次update操作,用来多次下载提高成功率,可能尝试很多次之后还有些jar包没下下来,1,可以选择将jar包上一层目录删除,重新更新;2,或者将jar包删除,直接从网上下载jar包,这一步很关键,我这边是试过多次之后下载好了,无法重现第一次的情形,望各位见谅;更新之后就无错误了,如下第二张图所示

    更新之后工程的样子,已经没有红色的感叹号之类的了,无错误

    (6)main/java找到org.elasticsearch.bootstrap的elasticsearch.java   到main函数 run as java application之后,出现如下图所示:出现错误
    Exception in thread "main" java.lang.IllegalStateException: path.home is not configured

    (7)在main函数右键,run as run configuration,在arguments按照如下填写,path.home=<你的core文件的路径>,点run

    (8)之后会出现log路径未找到,config错误等,我这边刚开始出现的是config的logging未找到类似的错误,如下所示:

    (9)从elastic的官网  https://www.elastic.co/downloads/past-releases,(下载2.1.0 现在最新是2.1.1但是为了防止配置文件有变动,还是一直保持同一个版本比较好点)已经封装好的elasticsearch,解压,将里面的config文件拷贝到你所调试的工程的core下面,即可,再次run as java application就可以了

    这个时候去网页,将ip输入,端口输入即可看到熟悉的返回值

    三、总结以及后续

    只是开启了学习es的第一步,后续希望可以改造特定的部分,完成定制,在此记录一下,别下次再忘记了

  • 相关阅读:
    RDD的基本命令
    python 数据类型
    RDD基础
    sql优化
    python文件操作
    Python之xlsx文件与csv文件相互转换
    ValueError: Some of types cannot be determined by the first 100 rows, please try again with sampling
    python
    python操作dataFrame
    python 列表,元祖,字典
  • 原文地址:https://www.cnblogs.com/xsht/p/5280613.html
Copyright © 2011-2022 走看看