Elasticsearch idea本地启动-最新最全教程

Elasticsearch idea本地启动-最新最全教程,第1张

Elasticsearch idea本地启动-最新最全教程 1、我的环境概览

*** 作系统:MacOS m1(aarch64)Elasticsearch :7.16.2Zulu JDK 16 (和Elasticsearch 版本相对应即可,详见https://www.elastic.co/cn/support/matrix#matrix_jvm )Gradle 7.2.2(Elasticsearch 是Gradle项目)IntelliJ IDEA 2021.3.1
在最新的idea里,JDK和Gradle可以不主动下载,在reload gradle项目时会d出提示自动下载 2、源码下载

https://github.com/elastic/elasticsearch

假设安装目录为 /Users/xiaobei/project/elasticsearch


3、开始启动 1、 File->open 打开项目 2、切换到想要的tag,这里以 v7.16.2为例 3、并下载对应版本的release包备用,release包结构如下

4、 在源码elasticsearch目录下新建一个自己的目录,这里我命名myhome,目录结构如下,再新建子目录config,plugins,modules

5、把release包的modules复制到源码的myhome/modules目录下 6、把config包的elasticsearch.yml , jvm.options, log4j2.properties复制到源码的myhome/config目录下 6.1、 修改elasticsearch.yml,添加参数
# 可自定义
cluster.name: xiaobei-testxxx
# 可自定义
node.name: xiaobei-testxxx-node
# 可自定义,我放在刚刚创建的myhome目录下
path.data: /Users/xiaobei/Project/elasticsearch/myhome/data
path.logs: /Users/xiaobei/Project/elasticsearch/myhome/logs
# 启动在本地
network.host: 127.0.0.1
# 启动端口号
http.port: 9200
# 集群的主节点,和node.name保持一致即可
cluster.initial_master_nodes: ["xiaobei-testxxx-node"]


6.2 在config包下添加policy文件,这里我命名为elasticsearch.policy,内容如下
grant {
        permission javax.management.MBeanTruxtPermission "register";
        permission javax.management.MBeanServerPermission "createMBeanServer";
        permission java.lang.RuntimePermission "createClassLoader";
        permission java.lang.RuntimePermission "getClassLoader";
        permission java.lang.RuntimePermission "setContextClassLoader";
        permission org.elasticsearch.secure_sm.ThreadPermission "modifyArbitraryThread";
        permission org.elasticsearch.secure_sm.ThreadPermission "modifyArbitraryThreadGroup";
 };

6.3 移动好文件的myhome文件夹结构如下
myhome
├── config
│   ├── elasticsearch.policy
│   ├── elasticsearch.yml
│   ├── jvm.options
│   └── log4j2.properties
├── modules
│   ├── aggs-matrix-stats
│   ├── analysis-common
│   ├── constant-keyword
│   ├── frozen-indices
│   ├── ingest-common
│   ├── ingest-geoip
│   ├── ingest-user-agent
│   ├── kibana
│   ├── lang-expression
│   ├── lang-mustache
│   ├── lang-painless
│   ├── legacy-geo
│   ├── mapper-extras
│   ├── mapper-version
│   ├── parent-join
│   ├── percolator
│   ├── rank-eval
│   ├── reindex
│   ├── repositories-metering-api
│   ├── repository-encrypted
│   ├── repository-url
│   ├── runtime-fields-common
│   ├── search-business-rules
│   ├── searchable-snapshots
│   ├── snapshot-repo-test-kit
│   ├── spatial
│   ├── transform
│   ├── transport-netty4
│   ├── unsigned-long
│   ├── vector-tile
│   ├── vectors
│   ├── wildcard
│   ├── x-pack-aggregate-metric
│   ├── x-pack-analytics
│   ├── x-pack-async
│   ├── x-pack-async-search
│   ├── x-pack-autoscaling
│   ├── x-pack-ccr
│   ├── x-pack-core
│   ├── x-pack-data-streams
│   ├── x-pack-deprecation
│   ├── x-pack-enrich
│   ├── x-pack-eql
│   ├── x-pack-fleet
│   ├── x-pack-graph
│   ├── x-pack-identity-provider
│   ├── x-pack-ilm
│   ├── x-pack-logstash
│   ├── x-pack-ml
│   ├── x-pack-monitoring
│   ├── x-pack-ql
│   ├── x-pack-rollup
│   ├── x-pack-security
│   ├── x-pack-shutdown
│   ├── x-pack-sql
│   ├── x-pack-stack
│   ├── x-pack-text-structure
│   ├── x-pack-voting-only-node
│   └── x-pack-watcher
└── plugins
7、 统一jdk版本 7.1.、 File-> Project Structure

7.2.、 IntelliJ IDEA -> Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle 8、 添加启动类配置

8.1、JVM配置
-Des.path.home=/Users/xiaobei/Project/elasticsearch/myhome
-Des.path.conf=/Users/xiaobei/Project/elasticsearch/myhome/config
-Djava.security.policy=/Users/xiaobei/Project/elasticsearch/myhome/config/elasticsearch.policy
-Dlog4j2.disable.jmx=true
-Xmx4g
-Xms4g
8.2、启动类位置

模块:elasticsearch.server.main
类全限定名:org.elasticsearch.bootstrap.Elasticsearch

9、 build gradle项目(最新版的idea在gradle和jdk版本不对时,会自动d出提示快捷下载)

10、启动项目,在浏览器能成功打开localhost:9200,大功告成
欢迎大家评论来提出问题

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5709490.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存