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

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🌺点点关注,收藏不迷路🌺
http://www.jsqmd.com/news/678490/

相关文章:

  • Python连接openGauss避坑实录:从Docker环境变量到psycopg2事务管理的完整流程
  • 别再只会docker run了!这15个Docker CLI命令,让你效率翻倍(附真实场景案例)
  • ZTools(效率工具)
  • 别再死记硬背AXI时序了!用Vivado 2023.1的ILA抓个波形,手把手教你理解ZYNQ7000的握手信号
  • 智能体上下文管理的艺术:如何在高频交互中维持状态清晰与精简?
  • 手把手教你用Wireshark和RSView配置速腾M1雷达IP与点云显示
  • C/C++面试八股文精讲:从指针到网络编程的实战要点
  • 实战避坑:Node.js后端与前端JS时间戳互传时,如何确保‘yyyy-MM-dd HH:mm:ss‘格式一致?
  • 手把手教你用网线给imx6ull开发板共享网络(Windows 10/11保姆级教程)
  • 别再傻傻分不清!STC15W408AS、IAP15W413AS这些型号后缀到底啥意思?
  • 避坑指南:搞定S7-1200与MCGS触摸屏的Modbus RTU,关键就在地址映射和CM1241配置
  • 别再死记硬背了!用MATLAB Fuzzy Logic Toolbox做智能控制,这10个函数你得这么用
  • 当Ouster OS1-128遇上LeGO-LOAM:一份详细的参数修改与适配指南(解决‘ring‘字段报错)
  • 自变量发布新一代机器人进家庭计划,WALL - B 架构革命开启机器人服务家庭新征程
  • 025、模型合并与权重平均:融合多个微调模型的技巧
  • Navicat Premium试用期重置终极指南:简单三步告别数据库工具时间限制
  • 深度解析MobaXterm密钥生成器:Python逆向工程与授权机制实现
  • 智读造用|《一人企业》1 :OPC靠这四个特征在大公司的缝隙里活得更好
  • 别再重装系统了!用这几条GRUB命令拯救你的Ubuntu启动(附DiskGenius/EasyUEFI使用技巧)
  • 2026年Q2国内郎酒回收商家排行及核心服务能力解析 - 优质品牌商家
  • 手机NFC能量收集技术实现零功耗指令传输
  • 别再乱用public了!PostgreSQL权限管理实战:从Schema设计到用户授权的完整流程
  • 宿舍网速翻倍!用小米AC2100刷OpenWrt实现校园网单线多拨(附自动登录脚本)
  • (204页PPT)DG某著名企业信息化规划(附下载方式)
  • 从Qt信号槽的5种连接方式,聊聊Qt::QueuedConnection的设计哲学与适用场景
  • 【Docker 27集群调度权威白皮书】:基于17家金融/电商头部企业压测数据的27条反直觉优化铁律
  • 【2026年最新600套毕设项目分享】微信小程序的预约挂号系统(30127)
  • WPF customize behavior based on Microsoft.Xaml.Behaviors.Wpf with command and commandparameter
  • 状态机——协议的内在逻辑:用有限的状态,应对无限的世界
  • Vivado布线拥塞卡了8小时?手把手教你从Log到Device View定位K7 FPGA的Congestion元凶