当前位置: 首页 > news >正文

Elasticsearch零基础入门:服务器完整启动与配置实战教程

Elasticsearch零基础入门:服务器完整启动与配置实战教程

    • 一、前言
    • 二、前置说明
    • 三、Elasticsearch 启动配置核心流程图
    • 四、第一步:环境准备与安装包下载
      • 1. 系统要求
      • 2. 下载ES安装包
      • 3. 解压文件
    • 五、第二步:核心配置文件修改(重点)
      • 1. 配置文件1:elasticsearch.yml(主配置文件)
      • 2. 配置文件2:jvm.options(JVM内存配置)
      • 3. Linux额外配置(必做)
    • 六、第三步:启动Elasticsearch服务器
      • 1. Windows 启动
      • 2. Linux 启动
    • 七、第四步:验证服务是否正常
      • 1. 浏览器访问
      • 2. API 接口验证
    • 八、ES启动常见错误与解决方案
      • 1. 错误1:max virtual memory areas vm.max_map_count [65530] is too low
      • 2. 错误2:the default discovery settings are unsuitable for use
      • 3. 错误3:占用端口9200被占用
      • 4. 错误4:root用户启动失败
      • 5. 错误5:远程无法访问
    • 九、生产环境核心配置建议
    • 十、总结

🌺The Begin🌺点点关注,收藏不迷路🌺

一、前言

Elasticsearch(简称ES)作为一款分布式、高扩展的搜索引擎,是大数据、日志分析、全站搜索场景的核心组件。正确启动与基础配置是使用ES的第一步,很多新手因环境配置错误、参数设置不当导致ES启动失败、无法远程访问、内存溢出等问题。

本文将从环境准备→下载安装→核心配置→启动服务→验证访问全流程讲解,搭配启动流程图、配置详解、避坑指南,零基础也能快速搭建ES服务器。

二、前置说明

  1. ES版本:本文以稳定版Elasticsearch 8.10.0为例(兼容7.x/8.x全版本)
  2. 运行环境:JDK(ES8.x自带JDK,无需手动安装)
  3. 系统支持:Windows/Linux/MacOS(本文覆盖Windows+Linux双系统)
  4. 核心前提:ES禁止使用root用户启动(Linux),必须创建普通用户

三、Elasticsearch 启动配置核心流程图

环境准备

下载对应版本ES

解压安装包

修改核心配置文件elasticsearch.yml

修改JVM内存配置jvm.options

创建普通用户/关闭防火墙

启动ES服务

启动是否成功

浏览器/API验证访问

查看日志/排查错误

完成ES服务器搭建

四、第一步:环境准备与安装包下载

1. 系统要求

  • 内存:至少2GB(生产环境建议8GB+)
  • 系统:Windows 10+/CentOS 7+/Ubuntu 20.04+
  • 权限:Linux禁止root,Windows建议管理员权限

2. 下载ES安装包

官方下载地址:https://www.elastic.co/cn/downloads/elasticsearch

  • Windows:选择WINDOWS下载zip包
  • Linux:选择LINUX下载tar.gz包

3. 解压文件

  • Windows:直接解压到非中文路径(如D:\elasticsearch-8.10.0
  • Linux:执行解压命令
tar-zxvfelasticsearch-8.10.0-linux-x86_64.tar.gz-C/usr/local/

五、第二步:核心配置文件修改(重点)

ES 配置文件全部在config目录下,仅需修改2个核心文件即可正常启动。

1. 配置文件1:elasticsearch.yml(主配置文件)

打开config/elasticsearch.yml,添加/修改以下配置(注释掉原有配置):

# 1. 集群名称(所有节点一致)cluster.name:my-es-cluster# 2. 节点名称node.name:node-1# 3. 数据存储路径path.data:/usr/local/elasticsearch-8.10.0/data# 4. 日志存储路径path.logs:/usr/local/elasticsearch-8.10.0/logs# 5. 允许远程访问(0.0.0.0代表所有IP)network.host:0.0.0.0# 6. HTTP访问端口http.port:9200# 7. 单节点启动(开发环境)discovery.type:single-node# 8. 关闭安全认证(开发环境,生产环境建议开启)xpack.security.enabled:false

配置说明

  • network.host: 0.0.0.0:必须配置,否则只能本地访问
  • discovery.type: single-node:单机模式,无需集群发现
  • xpack.security.enabled: false:关闭密码验证(开发环境)

2. 配置文件2:jvm.options(JVM内存配置)

ES默认内存较大,新手建议修改为小内存,避免启动失败:

# 初始内存 -Xms512m # 最大内存 -Xmx512m

配置规则

  • 开发环境:512m~1g
  • 生产环境:不超过物理内存的50%(最大31g)
  • Xms和Xmx必须设置为相同值(避免内存抖动)

3. Linux额外配置(必做)

  1. 创建普通用户(ES禁止root启动)
useraddesuserchown-Resuser:esuser /usr/local/elasticsearch-8.10.0
  1. 修改系统配置(解决最大线程数/虚拟内存问题)
# 修改配置文件vi/etc/security/limits.conf# 添加以下内容esuser soft nofile65535esuser hard nofile65535esuser soft nproc4096esuser hard nproc4096

六、第三步:启动Elasticsearch服务器

1. Windows 启动

进入ES的bin目录,双击elasticsearch.bat,等待启动完成。
✅ 启动成功标志:控制台打印started,无报错信息。

2. Linux 启动

切换到普通用户,后台启动:

# 切换用户suesuser# 进入bin目录cd/usr/local/elasticsearch-8.10.0/bin# 后台启动./elasticsearch-d

✅ 查看启动进程:ps -ef | grep elasticsearch

七、第四步:验证服务是否正常

1. 浏览器访问

打开浏览器输入:http://服务器IP:9200
✅ 访问成功返回JSON数据:

{"name":"node-1","cluster_name":"my-es-cluster","cluster_uuid":"xxx","version":{"number":"8.10.0","build_type":"tar"},"tagline":"You Know, for Search"}

2. API 接口验证

curlhttp://127.0.0.1:9200

八、ES启动常见错误与解决方案

1. 错误1:max virtual memory areas vm.max_map_count [65530] is too low

✅ 解决(Linux):

vi/etc/sysctl.confvm.max_map_count=262144sysctl-p

2. 错误2:the default discovery settings are unsuitable for use

✅ 解决:配置文件添加discovery.type: single-node

3. 错误3:占用端口9200被占用

✅ 解决:修改elasticsearch.ymlhttp.port为其他端口

4. 错误4:root用户启动失败

✅ 解决:Linux必须创建普通用户启动

5. 错误5:远程无法访问

✅ 解决:

  1. 配置network.host: 0.0.0.0
  2. 关闭防火墙/开放9200端口

九、生产环境核心配置建议

  1. 内存配置-Xms8g -Xmx8g(物理内存16G服务器)
  2. 安全认证:开启xpack.security,设置账号密码
  3. 数据路径:数据和日志分开存储,避免磁盘爆满
  4. 端口防护:仅允许内网IP访问9200端口
  5. 开机自启:配置systemd服务,开机自动启动ES

十、总结

本文完整讲解了Elasticsearch服务器从0到1的启动+配置流程,核心步骤总结为4步:

  1. 安装:下载解压ES安装包
  2. 配置:修改elasticsearch.yml+jvm.options
  3. 启动:Windows双击脚本,Linux普通用户后台启动
  4. 验证:浏览器访问IP:9200确认服务正常

按照本文教程操作,可快速解决ES启动失败、无法远程访问、内存溢出等99%的常见问题,轻松完成ES服务器搭建。



🌺The End🌺点点关注,收藏不迷路🌺
http://www.jsqmd.com/news/695154/

相关文章:

  • STM32CubeMX配置PWM驱动MG90S舵机:从零到转动的保姆级避坑指南
  • AI Agent Harness Engineering 成本优化指南:从算力到开发的全链路降本技巧
  • CSS Grid完全指南
  • 暴力枚举就够了?你可能错过了这道题真正的“降维打击”
  • UI前端美化技能提升日志day7:(原生苹方字体全局适配+合规页脚完整像素级落地)
  • 别再手动量了!用C#给Catia加个自动测量小工具(附完整源码)
  • 救命!论文AI率被导师骂?这两个工具每天免费查重+AIGC检测[特殊字符]
  • 从挂号拥堵到智能秒答:用 LangChain4j 打造高并发企业级医疗助手的全攻略
  • Flutter UI组件高级技巧与最佳实践
  • 手把手教你:Aocoda F405V2飞控从STM32F405升级到AT32F435的完整引脚迁移指南
  • 哔哩下载姬downkyi:5分钟掌握B站视频下载终极指南
  • 告别Xshell和FinalShell!我用Tabby+SFTP插件搞定服务器文件管理,附详细配置流程
  • 告别第三方服务:手把手教你为Web应用自建基于S3的断点续传文件上传功能
  • 告别“滑动窗口”:超像素如何让高光谱解混更精准、更高效?
  • 知识融合实战:从数据冲突到统一图谱的工程化路径
  • KLayout版图设计终极指南:从零开始掌握开源EDA工具的完整教程
  • 一张表对比瑞芯微RK3572/RK3576/RK3568-盈鹏飞嵌入式
  • 代码考古学:用 git blame 和 git show 揪出 Bug 的‘元凶’(附实战排查流程)
  • 毕业设计别再愁了!手把手教你用PHP+MySQL+微信小程序搭建企业官网(附完整源码)
  • 基于虚拟磁链的直接功率控制在MATLAB仿真中的整流器和逆变器仿真研究及其参考文献
  • Arduino项目数据存储升级:手把手教你用AT24C02 EEPROM保存传感器数据(附防数据丢失技巧)
  • LT9611EX芯片实战:如何用龙迅MIPI转HDMI1.4方案搞定4K机顶盒设计(附电路图)
  • 高并发 架构设计二
  • AI写论文别错过!4个AI论文写作神器,助力期刊论文顺利发表!
  • Kaggle夺冠方案:基于cuML的三层堆叠集成技术解析
  • 用铺瓷砖的思维理解欧几里得算法:一个C语言递归实现的保姆级教程
  • 3分钟学会NCM文件转换:ncmdump工具完全使用指南
  • 实现 Flex 容器内子元素自适应高度并启用自动滚动
  • CXL技术与SURGE架构:突破内存带宽瓶颈的创新方案
  • Legacy-iOS-Kit深度解析:旧款iOS设备降级与越狱完整技术方案