elasticsearch 源码分析(一)

工作中经常使用es,所以想研究一下es的源码,常用的es版本为2.1.0,所以此系列以2.1.0为准

1、下载源码

      网址:https://github.com/elastic/elasticsearch,选择tag为2.1.0 ,下载zip文件解压。

      或者用git下载,方法为:git clone https://github.com/elastic/elasticsearch.git

      之后在git环境执行git tag  #可以看到2.1.0的版本

      git checktout   2.1.0 即可得到2.1.0的es源码

2、编译源码

      elasticsearch的源码最早使用maven管理,后期使用的是gradle。这里用的是mvn

      直接执行mvn clean package -DskipTests

      如果有报错,可以用根据报错下载相应的jar到本地的maven库里即可。

      等出现build success信息的时候代表成功了。
      可以到core/target目录下看到elasticsearch-2.1.0-SNAPSHOT.jar。

      编译完成后转换成eclipse工程:

      进入本地elasticsearch-2.1.0/core目录下,执行mvn eclipse:eclipse

      同样会有很多报错,我遇到最多是找不到jar的解决方法是在/elasticserach-2.1.0下面对应的目录target里面去找。找到后拷贝到本地的maven repo对应的目录里面。

      编译成功会看到.classpath 和.project文件。

      把core 当做普通java 工程import就可以了

3、运行elasticsearch

      打开刚刚导入成功的工程:

      Run As----Run Configution---Args
      设置ProgramArgument 为 start
      设置VMArgument为 -Des.path.home=..\elasticsearch-2.1.0\core\  #对应的目录,如果不可以,用绝对路径

      然后就可以运行。

      可能会有[WARN ][bootstrap                ] unable to install syscall filter: syscall filtering not supported for OS的警告,不过可以忽略。

      最后在本地的localhost:9200可以看到运行成功

      

     

猜你喜欢

转载自bsll.iteye.com/blog/2379858