Skip to content

准备学习用,看源码写文档。慢慢更新,中文注释

License

Notifications You must be signed in to change notification settings

xiaodizi/elasticsearch

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Elasticsearch

因为考取了 Elastic 的认证工程师,所以还是想继续深入的学习一下。 别的方法也不会,就用了一个很笨的方法,看文档,看源码。 所以就Fork 了一个项目,慢慢更新一些中文的源码和一些文档吧! 也失业了,找不到工作,也能当成个事情做。也不知道能坚持多久,写写看!

习惯了用一些笔记软件写记录,对写作工具也有点陌生,看来得慢慢熟悉了。

如果哪里写错了,或者不好欢迎发邮件。

最近的情况

目前接了点事情做,还是做elasticsearch的二次开发。

这个源码本来是想画图再解释的,看来要等等了。

现在的需求就是 在 elassandra 基础上做新的需求。 目前在做的事,就是升级里边的elasticsearch 和 cassandra 。

其他的需求目前没听说,反正还是要写文档,要记录。坚持!!!

目录下边讲的是如何进行Debug源码

开始

这个项目,本来就是为了学习做的记录。开始记录写中文注释。慢慢写,慢慢更新,不着急…​…​

本地IDEA 环境 Debug 源码

先把代码 clone 下来,导入到 IDEA 里。

前提注意事项:

  1. jdk 版本,现在这个可以参考官网,不过我 Fork 这个项目测试过,jdk 17是没有问题的 。 官网参考链接

  2. 注意 IDEA 里边 Project Structure 都要设置好jdk。

关于IDEA里启动

  1. 我用谷歌或者百度搜索了好多文章和帖子,包括国外的,很多都说要配置参数,后再启动什么什么的,不过我倒是觉得参数太多了,就没必要再考虑配置参数的事情了。看看官方的推荐就好了,或者官方论坛去搜搜帖子看看。

  2. 项目本身是用gradle管理和运行,其实导入到IDEA就已经开始同步和执行了。前提IDEA配置好gradle。

  3. 运行的命令:

    gradle run

    如果是在IDEA里运行,这个命令就可以跑起来。

  4. 用console去运行:就进入项目跟目录。

    ./gradlew run
  5. 运行执行完了,正常会在IDEA里边自动添加 Remote JVM Debug 的,配置基本不用改,启动这个话,会在本地监听5007端口,这是默认配置。监听启动之后再执行,

    gradle run --debug-jvm

    如果console 运行就是

    ./gradlew run --debug-jvm

    就可以进行Debug了。

程序启动入口

  1. 程序启动实在server 模块下边的 bootstrap 文件夹里的 Elasticsearch 这个类的 main 方法。可以尝试 Debug 一下。

  2. 因为打包好之后,都是执行shell脚本,这是在distribution 模块下的 tools 模块,里边再找 cli-launcher 模块里的 CliToolLauncher 类,下载个包,看看shell也能定位到。

注意事项

有两个命令不建议用。

gradle build
gradle assemble

这俩就不多说,一个打包,一个叫构建。会把所有功能全部,build 一遍。意义不大,而且现在源码会有docker的部分,会一起打包。这东西我觉得我也不需要,有些网上文章,建议把docker 的部分依赖注释点,我试了一下是可以的,但是没啥意义。

打包源码

  1. 如果想打包,可以尝试:

    ./gradlew localDistro

    本地系统是啥系统,就会打包啥样的系统。

  2. 如果想打包指定版本,可以尝试:

    ./gradlew :distribution:archives:linux-tar:assemble
    ./gradlew :distribution:archives:darwin-tar:assemble
    ./gradlew :distribution:archives:windows-zip:assemble
  3. 反正别尝试:

./gradlew assemble

一是会失败,二就是gradle 吃CPU 挺狠的,配置低的电脑估计一下就干死。编译的时候内存应该会搞到5G以上。我电脑64G内存,基本没啥压力。如果电脑配置不好,低于2G 不建议尝试了。

过几天看看再写个gradle优化的配置。。。

原文翻译

原文的官方文档我也大概看了,有些翻译我保留了.

TESTING 是关于Debug 测试的。

CONTRIBUTING 是关于如何打包的。

先想想写啥…​..

About

准备学习用,看源码写文档。慢慢更新,中文注释

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.8%
  • Groovy 0.2%
  • Shell 0.0%
  • ANTLR 0.0%
  • Python 0.0%
  • Dockerfile 0.0%