*** 作系统: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 └── plugins7、 统一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 -Xms4g8.2、启动类位置
模块:elasticsearch.server.main
类全限定名:org.elasticsearch.bootstrap.Elasticsearch
欢迎大家评论来提出问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)