讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么安装Elasticsearch_Linux环境JVM调优与集群发现设置【教程】

梦婷小哥_7136

梦婷小哥_7136

发布时间:2026-01-05 12:15:08

|

910人浏览过

|

来源于php中文网

原创

需完成安装、JVM参数调优与网络发现设置三个关键环节:下载解压Elasticsearch二进制包,创建专用用户并授权;配置jvm.options设堆内存为-Xms4g -Xmx4g并启用G1GC;在elasticsearch.yml中设置cluster.name、node.name、discovery.seed_hosts和cluster.initial_master_nodes,并绑定内网IP启动服务。

linux怎么安装elasticsearch_linux环境jvm调优与集群发现设置【教程】

如果您希望在Linux系统中部署Elasticsearch,并确保其稳定运行于JVM环境,同时正确配置集群节点发现机制,则需完成安装、JVM参数调优与网络发现设置三个关键环节。以下是具体操作步骤:

一、下载并安装Elasticsearch

Elasticsearch官方提供.tar.gz二进制包,适用于无包管理器或需精确控制版本的Linux环境。安装过程不依赖系统包管理器,解压即用,但需提前确认Java运行时环境已就绪。

1、执行wget命令下载对应版本的Elasticsearch压缩包,例如:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.15.0-linux-x86_64.tar.gz。

2、使用tar -xzf解压至目标目录,例如:tar -xzf elasticsearch-8.15.0-linux-x86_64.tar.gz -C /opt/。

3、为安全起见,创建专用用户运行Elasticsearch,例如:useradd -r -d /opt/elasticsearch-8.15.0 -s /bin/bash elasticsearch。

4、修改解压目录所有权:chown -R elasticsearch:elasticsearch /opt/elasticsearch-8.15.0。

二、配置JVM堆内存与GC参数

JVM堆大小直接影响Elasticsearch响应延迟与GC停顿时间。官方建议将-Xms与-Xmx设为相同值,且不超过物理内存50%,绝对不超过32GB以避免指针压缩失效。

1、编辑/opt/elasticsearch-8.15.0/config/jvm.options文件。

2、定位到堆内存配置行,将默认值替换为:-Xms4g与-Xmx4g(根据实际可用内存调整,如16GB物理内存建议设为4g~8g)。

3、注释掉所有ZGC相关行(若使用JDK 17+且未启用ZGC),取消注释并启用G1GC参数:-XX:+UseG1GC与-XX:MaxGCPauseMillis=400。

4、添加JVM启动参数以禁用偏向锁并启用日志输出:-XX:-UseBiasedLocking与-Xlog:gc*,gc+age=trace,safepoint:file=/var/log/elasticsearch/gc.log:time,tags:uptime,level,pid,tid:filecount=32,filesize=64m。

三、设置集群名称与节点发现机制

Elasticsearch 8.x默认启用安全特性与基于DNS的集群发现,但生产环境常需显式配置静态节点列表或单播主机列表,避免依赖外部DNS服务或组播不可靠问题。

1、编辑/opt/elasticsearch-8.15.0/config/elasticsearch.yml文件。

2、设置唯一集群标识:cluster.name: my-application(所有节点必须一致)。

3、设置当前节点名称:node.name: node-1(每台机器需唯一)。

accurLex专业合同审查
accurLex专业合同审查

基于5000余部现行法律法规进行的高质量专业合同审查,一键输出审查意见书,并附有参考法条原文,满足专业溯源核查要求。由accurLex知法提供技术支持。 Use when users ask for 合同审查, 审查意见书, 合同风险分析, 条款审查,知法,accurLex or 站在甲方/乙方角度审查合同 through accurLex direct API. China law only, plaintext only, review mode limited to 审查意见书.

下载

4、禁用默认的Elasticsearch 8.x安全自引导模式(如不启用TLS与内置用户):xpack.security.enabled: false与xpack.security.http.ssl.enabled: false。

5、配置初始主节点列表(适用于单播发现):discovery.seed_hosts: ["192.168.1.10:9300", "192.168.1.11:9300", "192.168.1.12:9300"]。

6、明确指定可参与主节点选举的候选节点:cluster.initial_master_nodes: ["node-1", "node-2", "node-3"](仅首次启动时使用,后续启动可注释)。

四、配置网络绑定与HTTP访问控制

为保障服务可达性与安全性,需显式声明监听地址与端口,并限制HTTP接口暴露范围,防止公网直接访问内部传输端口。

1、在elasticsearch.yml中设置网络绑定地址:network.host: 192.168.1.10(替换为本机内网IP,禁止使用0.0.0.0除非有严格防火墙策略)。

2、指定HTTP服务端口:http.port: 9200(默认值,可保持不变)。

3、关闭HTTP压缩以降低CPU开销(可选):http.compression: false。

4、显式禁用传输端口对外暴露:transport.port: 9300与transport.host: 127.0.0.1(仅限本地回环通信,配合discovery.seed_hosts中填写真实IP实现跨机发现)。

五、启动服务并验证基础状态

通过systemd托管服务可实现开机自启与日志统一管理,避免前台运行导致会话中断。启动后需立即验证节点是否成功加入集群并报告健康状态。

1、创建systemd服务文件:/etc/systemd/system/elasticsearch.service,内容包含User=elasticsearch、WorkingDirectory=/opt/elasticsearch-8.15.0及ExecStart=/opt/elasticsearch-8.15.0/bin/elasticsearch -d -p /var/run/elasticsearch/elasticsearch.pid。

2、重载systemd配置:systemctl daemon-reload。

3、启用开机自启:systemctl enable elasticsearch。

4、启动服务:systemctl start elasticsearch。

5、检查服务状态:systemctl status elasticsearch,确认显示active (running)且无failed字样。

6、发送HTTP请求验证节点响应:curl -X GET "http://192.168.1.10:9200/_cat/nodes?v",应返回当前节点及集群内其他已发现节点列表。

热门AI工具

更多
超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

3383

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

715

2023.10.30

C++ 智能指针与现代内存管理
C++ 智能指针与现代内存管理

深入讲解 C++ 现代内存管理的核心工具——智能指针,涵盖 unique_ptr 独占所有权语义、shared_ptr 引用计数机制与循环引用问题、weak_ptr 弱引用的应用场景、make_unique/make_shared 工厂函数的性能优势、自定义删除器的编写、RAII 资源管理思想的实践,以及从裸指针迁移到智能指针的重构策略,帮助开发者编写安全无泄漏的现代 C++ 代码。

299

2026.04.23

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

3048

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

4309

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3689

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

386

2026.01.19

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

4727

2023.07.18

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

120

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn