【ES源码探索-0001】- 如何编译和远程调试elasticsearch源码
目录
如何编译
- 下载最新elasticsearch源码,准备相关运行环境,将
jdk8
、jdk11
、jdk17
、jdk21
配置到环境变量,
- 下载最新elasticsearch源码,准备相关运行环境,将
1 |
|
- 编译打包,执行
./gradlew localDistro
编译打包,es打包产物在/elasticsearch/build/distribution/local/
路径下
- 编译打包,执行
- 如果这里使用国内的机器,可能会打包失败或者打包时间非常久,建议大家购买香港的服务器,这样不会因为网络的问题导致打包失败。
如何调试
- 添加ES_JAVA_OPTS环境变量,elasticsearch 在运行时候会读取这个变量,这里就是jvm的参数,添加了调试的参数。
- 编辑 config/elasticsearch.yml,修改配置
1 |
|
遇到问题
- 启动报错:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144];
- 这里是由于vm.max_map_count默认值太小导致的,使用root用户,编辑
vi /etc/sysctl.conf
,添加配置vm.max_map_count=655300
即可。
- 无法通过公网ip连接到主机
- 2.1 防火墙端口未开启导致,在云厂商的安全组设置打开端口
【ES源码探索-0001】- 如何编译和远程调试elasticsearch源码
https://www.lewismind.site/2024/09/12/0001-es/