elasticsearch local debug环境搭建

最近计划看看elasticsearch的源码,首先得把local debug环境搞定。

下载源码。因为公司产线是5.6.5,所以就下载了5.6.5的代码。

源码编译。先进入到/elasticsearch/core目录,因为IDE是idea,所以用gradle idea编译core目录。然后进入到/elasticsearch目录,在运行gradle idea命令。gradle版本要3.5以上,我用的是4.4.1。

导入IDE。import project(选择elasticsearch根目录) -> import project from external model(选Gradle)->next(gradle JVM选1.8)->finish.

idea会持续load一段时间,主要是加载gradle的依赖包。完全打开后:

配置启动脚本。Run/Debug Configuration -> Add Application.

vm options:

下载elasticsearch 5.6.5的发行版的zip包,解压缩,目录重命名为elasticsearchdistribution,copy到/elasticsearch/distribution/目录下。目的是为了local debug的时候,能直接使用发行版本中的lib。

然后就可以debug了。不过要想elasticsearch正常启动起来,可能还是会遇到一些问题,本人主要遇到了三个问题:

1.检查重复的jar包(jar hell)。存在重复的jar冲突,我的做法是重命名JDK中重复的jar.

2.java安全策略问题:access denied ("javax.management.MBeanTrustPermission" "register")。

创建一个elasticsearch.policy文件,内容:

grant{
permission javax.management.MBeanTruxtPermission "register";
permission javax.management.MBeanServerPermission "createMBeanServer";
};

通过配置vm options的第三行生效。

3.distribution包中jar的版本问题。首先是出现一个error: org.elasticsearch.bootstrap.Security类的readPolicy()方法中subString的index为-1,造成subString越界。

通过debug可以看到遍历的是/elasticsearch/distribution/elasticsearchdistribution/modules/reindex中的jar文件,遂把该文件夹下的elasticsearch-rest-client-5.6.5.jar包名称改为elasticsearch-rest-client-5.6.5-SNAPSHOT.jar。

最终,可以动过idea的run/debug成功启动elasticsearch。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo }
span.s1 { }

原文地址:https://www.cnblogs.com/zhq1007/p/8158903.html

时间: 2024-08-30 17:38:15

elasticsearch local debug环境搭建的相关文章

大数据调度平台 azkaban windows IDEA/eclipse debug 环境搭建

近些日子需要研究大数据调度平台azkaban源码, 发现只有 linux运行的脚本,也没有windows下面的脚本,下面是怎么搭建IEDA /eclipse debug运行环境步骤.其实也挺简单的,我整理了下,方便初学者快速上手调试 ,希望可以帮助到大家. 1. 下载azkaban 源码 ,并按文档说明 ./gradlew build 2.怎么debug azkaban-exec-server 在IDEA或eclipse 右键 azkaban.execapp.AzkabanExecutorSer

Elasticsearch集群环境搭建

Es集群搭建核心思想 1.配置相同集群名称    2.配置不同的节点ID    3.修改X台服务器elasticsearch.yml配置 服务器环境->准备三台服务器集群 服务器集群配置: ## 修改elasticsearch.yml文件 [[email protected] elasticsearch]# vim elasticsearch.yml # ---------------------------------- Cluster ----------------------------

学习elasticsearch(一)linux环境搭建(2)——启动elasticsearch

在启动访问es的过程中遇到了各种的奇葩问题. 1.网上各种版本的启动方式让人眼花缭乱不知如何启动.简单粗暴--到es的bin目录下直接 执行 ./elasticsearch //显示启动,ctrl+c可停止,如要操作,换个终端 ./elasticsearch -d 后台启动,可在当前终端继续操作 //后台启动,如要停止执行 kill -9 pid //哈哈,直接杀掉进程 //搜索es进程pid可以酱紫 ps aux | grep elasticsearch //注意,不确定那个是pid的话多执行

spark1.4 Windows local调试环境搭建总结

1.scala版本scala-2.10.4 官方推荐scala-2.11.7[不推荐,非sbt项目.需要后加载] 2.spark版本spark-1.4.0-bin-hadoop2.6.tgz 3.hadoop3.1版本hadoop-2.6.0.tar.gz3.2环境变量HADOOP_HOME=E:/ysg.tools/spark/hadoop-2.6.0或System.setProperty("hadoop.home.dir", "E:\ysg.tools\spark\had

ETH 全节点的远程Debug环境搭建

ETH全节点还是很浪费资源的,尤其是在同步下来所有区块链,如果你打算在本地进行全节点的Debug吗,有点不现实.这个文档 编译,在要运行的机器上面安装devel,一般的方法是,编译好之后,放到服务器上面,安装delve Debug工具 : https://github.com/derekparker/delve 安装好之后,进入到 project root/ cmd/geth 目录下 运行 go build -gcflag='-N -l' 命令,golang 1.10 运行 go build -

Spark环境搭建

Spark官网和下载地址 官网 http://spark.apache.org/ spark-2.2.0源码下载链接 http://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0.tgz spark-2.2.0安装包下载连接 http://archive.apache.org/dist/spark/spark-2.2.0/spark-2.2.0-bin-hadoop2.6.tgz 官方文档 进入官网:http://spark.apach

Elasticsearch技术解析与实战(一)基础概念及环境搭建

基础概念 Elasticsearch是一个近实时的系统,从你写入数据到数据可以被检索到,一般会有1秒钟的延时.Elasticsearch是基于Lucene的,Lucene的读写是两个分开的句柄,往写句柄写入的数据刷新之后,读句柄重新打开,这才能读到新写入的数据. 名词解释: Cluster:集群. Index:索引,Index相当于关系型数据库的DataBase. Type:类型,这是索引下的逻辑划分,一般把有共性的文档放到一个类型里面,相当于关系型数据库的table. Document:文档,

Windows环境搭建ElasticSearch 5.*并配置head

Windows环境搭建ElasticSearch 5.* 需要JDK1.8: 1.下载ElasticSearch https://www.elastic.co/cn/downloads/elasticsearch#ga-release 因为是windows版本,所以下载zip即可 2.解压,我的目录位置:"E:\es\elasticsearch-5.4.1" 在该文件夹的bin目录下双击elasticsearch.bat执行,完成后任意浏览器键入127.0.0.1:9200, 3.安装

python elasticsearch环境搭建

windows linux环境搭建 windows下载zip linux下载tar 下载地址:https://www.elastic.co/downloads/elasticsearch 解压后运行:bin/elasticsearch (or bin\elasticsearch.bat on Windows) 检查是否成功:访问 http://localhost:9200 linux下不能以root用户运行, 普通用户运行报错: java.nio.file.AccessDeniedExcepti