news 2026/4/21 21:15:30

Elasticsearch服务器部署:从零到一完整启动+配置教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Elasticsearch服务器部署:从零到一完整启动+配置教程

Elasticsearch服务器部署:从零到一完整启动+配置教程

    • 一、前言
    • 二、环境准备:Elasticsearch 部署前置要求
      • 2.1 支持操作系统
      • 2.2 必备依赖
    • 三、整体流程:Elasticsearch 启动配置流程图
    • 四、步骤1:下载并安装 Elasticsearch
      • 4.1 官方下载地址
      • 4.2 Linux 安装命令(以 7.17.0 为例)
      • 4.3 Windows 安装
    • 五、步骤2:Linux 环境必须配置(解决启动报错)
      • 5.1 创建普通用户(ES 禁止 root 启动)
      • 5.2 修改系统配置(解决最大文件数/线程数报错)
      • 5.3 修改内核配置(解决虚拟内存报错)
    • 六、步骤3:JVM 内存配置(jvm.options)
      • 6.1 配置文件路径
      • 6.2 核心配置(关键!避免OOM)
    • 七、步骤4:核心配置(elasticsearch.yml)
      • 7.1 配置文件路径
      • 7.2 最常用必改配置(完整可复制)
      • 7.3 配置说明
    • 八、步骤5:启动 Elasticsearch 服务器
      • 8.1 Linux 启动命令(必须切换普通用户)
      • 8.2 Windows 启动
    • 九、步骤6:验证 ES 服务是否启动成功
      • 9.1 命令验证
      • 9.2 浏览器访问
      • 9.3 启动成功返回示例
    • 十、步骤7:配置开机自启(生产环境必备)
      • 10.1 创建系统服务
      • 10.2 写入配置
      • 10.3 设置开机自启
    • 十一、常见启动报错及解决方案(必看)
    • 十二、总结
      • 结尾

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

一、前言

Elasticsearch(简称ES)是一款非常流行的分布式搜索引擎,正确启动与基础配置是使用ES的第一步。很多新手在部署时会遇到启动失败、内存溢出、外网无法访问、权限报错、跨域问题等各种坑。

本文将以最详细、最规范、可直接落地的方式,讲解 Elasticsearch 服务器下载、安装、启动、核心配置、开机自启全流程,搭配流程图、命令、配置文件详解,让你一次性成功部署ES。

二、环境准备:Elasticsearch 部署前置要求

2.1 支持操作系统

  • Linux(CentOS、Ubuntu 推荐生产环境)
  • Windows(测试/开发环境)
  • macOS(本地开发)

2.2 必备依赖

  • JDK/JVM:ES 7.x+ 内置 JDK,无需手动安装 Java
  • 内存:至少 2GB 空闲内存(生产推荐 4GB+)
  • 权限:不能使用 root 用户直接启动(Linux 必须创建普通用户)

三、整体流程:Elasticsearch 启动配置流程图

下载对应版本ES

解压安装

Linux创建普通用户

修改系统配置 文件数、线程数

修改jvmoptions内存配置

修改elasticsearch.yml核心配置

启动ES服务

验证启动成功

配置开机自启生产必备

四、步骤1:下载并安装 Elasticsearch

4.1 官方下载地址

https://www.elastic.co/cn/downloads/elasticsearch

4.2 Linux 安装命令(以 7.17.0 为例)

# 下载wgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.0-linux-x86_64.tar.gz# 解压tar-zxvfelasticsearch-7.17.0-linux-x86_64.tar.gz# 移动到安装目录mvelasticsearch-7.17.0 /usr/local/elasticsearch

4.3 Windows 安装

直接下载 zip 包 → 解压到任意目录(不能带中文路径)即可。

五、步骤2:Linux 环境必须配置(解决启动报错)

5.1 创建普通用户(ES 禁止 root 启动)

# 创建用户useraddesuser# 设置密码passwdesuser# 赋予文件夹权限chown-Resuser:esuser /usr/local/elasticsearch

5.2 修改系统配置(解决最大文件数/线程数报错)

vi/etc/security/limits.conf

添加以下内容:

esuser soft nofile 65535 esuser hard nofile 65535 esuser soft nproc 4096 esuser hard nproc 4096

5.3 修改内核配置(解决虚拟内存报错)

vi/etc/sysctl.conf

添加:

vm.max_map_count=262144

生效配置:

sysctl-p

六、步骤3:JVM 内存配置(jvm.options)

6.1 配置文件路径

/usr/local/elasticsearch/config/jvm.options

6.2 核心配置(关键!避免OOM)

# 初始内存 -Xms1g # 最大内存 -Xmx1g

✅ 配置规则:

  • 内存大小不超过物理内存的 50%
  • 不超过32GB(避免内存浪费)
  • 测试环境:512m/1g
  • 生产环境:2g/4g/8g

七、步骤4:核心配置(elasticsearch.yml)

这是 ES最关键的配置文件,决定服务能否外网访问、端口、集群名等。

7.1 配置文件路径

/usr/local/elasticsearch/config/elasticsearch.yml

7.2 最常用必改配置(完整可复制)

# 1. 集群名称cluster.name:es-cluster# 2. 节点名称node.name:es-node-1# 3. 数据存储路径path.data:/usr/local/elasticsearch/data# 4. 日志存储路径path.logs:/usr/local/elasticsearch/logs# 5. 绑定网卡(0.0.0.0 代表所有IP可访问)network.host:0.0.0.0# 6. http访问端口http.port:9200# 7. 集群通信端口transport.tcp.port:9300# 8. 跨域配置(前端/Head/Kibana必备)http.cors.enabled:truehttp.cors.allow-origin:"*"# 9. 单节点启动(测试环境)discovery.type:single-node

7.3 配置说明

  1. cluster.name:集群名称,同一集群必须一致
  2. node.name:节点名称,唯一标识
  3. network.host: 0.0.0.0必须修改,否则外网无法访问
  4. http.port: 9200:访问端口
  5. discovery.type: single-node:单节点模式,开发测试使用

八、步骤5:启动 Elasticsearch 服务器

8.1 Linux 启动命令(必须切换普通用户)

# 切换用户suesuser# 进入目录cd/usr/local/elasticsearch# 前台启动(测试用)./bin/elasticsearch# 后台启动(生产用)./bin/elasticsearch-d

8.2 Windows 启动

进入 bin 目录 → 双击 elasticsearch.bat

九、步骤6:验证 ES 服务是否启动成功

9.1 命令验证

curlhttp://服务器IP:9200

9.2 浏览器访问

http://IP:9200

9.3 启动成功返回示例

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

看到这段信息,说明ES 启动成功!

十、步骤7:配置开机自启(生产环境必备)

10.1 创建系统服务

vi/etc/systemd/system/elasticsearch.service

10.2 写入配置

[Unit] Description=Elasticsearch After=network.target [Service] User=esuser ExecStart=/usr/local/elasticsearch/bin/elasticsearch Restart=always [Install] WantedBy=multi-user.target

10.3 设置开机自启

systemctl daemon-reload systemctlenableelasticsearch systemctl start elasticsearch

十一、常见启动报错及解决方案(必看)

  1. can not run elasticsearch as root

    • 原因:使用 root 用户启动
    • 解决:创建普通用户启动
  2. max virtual memory areas vm.max_map_count [65530] is too low

    • 原因:系统虚拟内存配置不足
    • 解决:执行本文 5.3 步骤
  3. the default discovery settings are unsuitable for production

    • 原因:缺少单节点配置
    • 解决:添加discovery.type: single-node
  4. 外网无法访问 9200

    • 原因:network.host 未配置 0.0.0.0 或防火墙未开放端口
    • 解决:修改配置 + 防火墙开放 9200 端口

十二、总结

  1. ES 不能用 root 启动,Linux 必须创建普通用户
  2. 两个核心配置文件jvm.options(内存)、elasticsearch.yml(服务)
  3. network.host: 0.0.0.0必须配置,否则无法外网访问
  4. 内存配置Xms 和 Xmx 保持一致,且不超过物理内存一半
  5. 单节点测试添加discovery.type: single-node
  6. 生产环境必须配置开机自启

按照本文步骤操作,可实现100% 成功启动 Elasticsearch


结尾

本文是 Elasticsearch 部署最完整、最详细的实战教程,适合新手入门、运维部署、开发测试。欢迎点赞、收藏、关注,后续持续更新 ES 集群、Kibana、Logstash 等实战教程!

需要我给你补充Windows 完整部署图文版或者ES 单机多实例集群配置吗?


🌺The End🌺点点关注,收藏不迷路🌺
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/21 21:15:07

如何快速解锁原神帧率限制:完整优化指南

如何快速解锁原神帧率限制:完整优化指南 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 想要体验更流畅的原神游戏画面吗?Genshin FPS Unlock工具能够帮助你突破游…

作者头像 李华
网站建设 2026/4/21 21:13:56

苹果设备Windows驱动一键安装:告别iTunes臃肿安装的终极方案

苹果设备Windows驱动一键安装:告别iTunes臃肿安装的终极方案 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/…

作者头像 李华
网站建设 2026/4/21 21:08:40

Jellyfin元数据插件终极指南:让中文媒体库焕然一新的完整教程

Jellyfin元数据插件终极指南:让中文媒体库焕然一新的完整教程 【免费下载链接】jellyfin-plugin-metashark jellyfin电影元数据插件 项目地址: https://gitcode.com/gh_mirrors/je/jellyfin-plugin-metashark 你是否厌倦了Jellyfin中那些杂乱无章的媒体库&am…

作者头像 李华
网站建设 2026/4/21 21:08:39

**发散创新:基于角色与属性的动态权限匹配系统设计与实现**在现代软件架构中,权限管理系统已从简

发散创新:基于角色与属性的动态权限匹配系统设计与实现 在现代软件架构中,权限管理系统已从简单的“用户-角色-资源”映射,进化为更灵活、可扩展且能适应复杂业务场景的多维权限匹配机制。本文将带你深入一个基于角色(Role&#x…

作者头像 李华