因为考取了 Elastic 的认证工程师,所以还是想继续深入的学习一下。 别的方法也不会,就用了一个很笨的方法,看文档,看源码。 所以就Fork 了一个项目,慢慢更新一些中文的源码和一些文档吧! 也失业了,找不到工作,也能当成个事情做。也不知道能坚持多久,写写看!
习惯了用一些笔记软件写记录,对写作工具也有点陌生,看来得慢慢熟悉了。
如果哪里写错了,或者不好欢迎发邮件。
目前接了点事情做,还是做elasticsearch的二次开发。
这个源码本来是想画图再解释的,看来要等等了。
现在的需求就是 在 elassandra 基础上做新的需求。 目前在做的事,就是升级里边的elasticsearch 和 cassandra 。
其他的需求目前没听说,反正还是要写文档,要记录。坚持!!!
-
集群搭建,以及常见问题(待完成)
-
启动后的内存分配策略(源码注释简单更新了)
这个项目,本来就是为了学习做的记录。开始记录写中文注释。慢慢写,慢慢更新,不着急……
先把代码 clone 下来,导入到 IDEA 里。
-
jdk 版本,现在这个可以参考官网,不过我 Fork 这个项目测试过,jdk 17是没有问题的 。 官网参考链接
-
注意 IDEA 里边 Project Structure 都要设置好jdk。
-
我用谷歌或者百度搜索了好多文章和帖子,包括国外的,很多都说要配置参数,后再启动什么什么的,不过我倒是觉得参数太多了,就没必要再考虑配置参数的事情了。看看官方的推荐就好了,或者官方论坛去搜搜帖子看看。
-
项目本身是用gradle管理和运行,其实导入到IDEA就已经开始同步和执行了。前提IDEA配置好gradle。
-
运行的命令:
gradle run
如果是在IDEA里运行,这个命令就可以跑起来。
-
用console去运行:就进入项目跟目录。
./gradlew run
-
运行执行完了,正常会在IDEA里边自动添加 Remote JVM Debug 的,配置基本不用改,启动这个话,会在本地监听5007端口,这是默认配置。监听启动之后再执行,
gradle run --debug-jvm
如果console 运行就是
./gradlew run --debug-jvm
就可以进行Debug了。
-
程序启动实在server 模块下边的 bootstrap 文件夹里的 Elasticsearch 这个类的 main 方法。可以尝试 Debug 一下。
-
因为打包好之后,都是执行shell脚本,这是在distribution 模块下的 tools 模块,里边再找 cli-launcher 模块里的 CliToolLauncher 类,下载个包,看看shell也能定位到。
有两个命令不建议用。
gradle build gradle assemble
这俩就不多说,一个打包,一个叫构建。会把所有功能全部,build 一遍。意义不大,而且现在源码会有docker的部分,会一起打包。这东西我觉得我也不需要,有些网上文章,建议把docker 的部分依赖注释点,我试了一下是可以的,但是没啥意义。
-
如果想打包,可以尝试:
./gradlew localDistro
本地系统是啥系统,就会打包啥样的系统。
-
如果想打包指定版本,可以尝试:
./gradlew :distribution:archives:linux-tar:assemble ./gradlew :distribution:archives:darwin-tar:assemble ./gradlew :distribution:archives:windows-zip:assemble
-
反正别尝试:
./gradlew assemble
一是会失败,二就是gradle 吃CPU 挺狠的,配置低的电脑估计一下就干死。编译的时候内存应该会搞到5G以上。我电脑64G内存,基本没啥压力。如果电脑配置不好,低于2G 不建议尝试了。
过几天看看再写个gradle优化的配置。。。