木子李的个人博客

Good Luck To You!

windows 部署 elasticsearch

Windows 部署 Elasticsearch 完整教程

以后教程参考了豆包,仅供学习参考

版本:elasticsearch-9.2.3

版本建议:ES 8.x(主流);注意:ES 需要 JDK,8.x 内置 JDK,无需单独安装。 ⚠️ Windows 不建议生产长期运行,仅开发、测试环境使用;正式环境推荐 Linux。

一、准备工作

  1. 下载地址(官方) https://www.elastic.co/cn/downloads/elasticsearch 选择:Windows 版本 ZIP 包

  2. 硬件最低要求

  • 内存:至少 4G,ES 默认堆内存容易 OOM

  • 关闭占用 9200 端口程序(ES 默认端口:9200 http;9300 集群通信)

二、安装步骤(绿色免安装)

  1. 解压压缩包,路径不要带中文、空格 错误示例:D:\软件\Elasticsearch 正确示例:D:\server\elasticsearch-9.2.3

  2. 进入目录 config/elasticsearch.yml 基础配置

# 集群名称,单机保持默认即可
cluster.name: elasticsearch
# 当前节点名
node.name: node-1
# 允许外部访问,0.0.0.0=所有网卡
network.host: 0.0.0.0
# http端口
http.port: 9200
# 单机模式,避免集群报错
discovery.type: single-node

# 【重要】开发环境关闭安全认证(新手强烈建议)
xpack.security.enabled: false
xpack.security.enrollment.enabled: false
xpack.security.http.ssl.enabled: false
xpack.security.transport.ssl.enabled: false
如果不关闭安全,启动后默认开启 HTTPS、账号密码,调试很麻烦。
  1. 调整 JVM 内存(解决内存不足)

    文件路径:config/jvm.options

# 默认
-Xms1g
-Xmx1g

机器内存小可以改成:

-Xms512m
-Xmx512m

-Xms-Xmx 必须设置相同值。

三、启动 ES

  1. CMD/PowerShell 进入 bin 目录

cd D:\server\elasticsearch-9.2.3\bin
elasticsearch.bat

✅ 出现 started 代表启动成功

浏览器访问测试:http://127.0.0.1:9200

返回 json 即正常。

四、常见启动报错 & 解决方案

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

Linux 经典报错,Windows 一般不会出现;如果 WSL 内运行才会遇到。

2. 端口 9200 被占用

CMD

# 查询占用进程
netstat -ano | findstr "9200"
杀掉对应 PID 进程,或者修改 http.port:9201

3. 闪退、窗口一闪而过

  • 目录存在中文 / 空格 ✅ 修改路径

  • JVM 内存设置过大,本机内存不足 ✅ 调低 512m

  • 旧进程残留占用端口 ✅ 杀掉进程

4. 防火墙阻止外部访问

network.host:0.0.0.0 配置后,Windows 防火墙弹窗允许访问。

五、搭配 Kibana(可视化管理)

同官网下载对应版本 Kibana,ES 和 Kibana 大版本必须一致
  1. 解压,路径无中文

  2. 修改 config/kibana.yml

server.host: "0.0.0.0"
elasticsearch.hosts: ["http://127.0.0.1:9200"]
  1. 启动:bin/kibana.bat 访问地址:http://127.0.0.1:5601

六、注册成 Windows 服务(后台开机自启)

管理员打开 CMD
cd D:\server\elasticsearch-9.2.3\bin
elasticsearch-service.bat install

常用命令CMD

elasticsearch-service.bat start    #启动
elasticsearch-service.bat stop     #停止
elasticsearch-service.bat remove   #卸载服务
服务名称默认:Elasticsearch,可以在系统服务面板设置自动启动
注意:修改 yml 配置后,需要重启服务生效!

七、重要生产提醒

  1. Windows 版本 ES 官方不作为生产环境支持,长时间运行容易内存、文件句柄问题;

  2. 不要直接公网暴露 9200 端口;如果开启安全认证务必设置强密码;

  3. 单机 single-node 仅用于测试,集群部署不要用该参数;

  4. 数据目录 data 不要随意删除,删除等于清空所有索引。

八、简单测试命令

curl

# 创建索引
PUT http://127.0.0.1:9200/test_index
# 插入文档
POST http://127.0.0.1:9200/test_index/_doc
{
  "title":"测试数据"
}
# 查询
GET http://127.0.0.1:9200/test_index/_search


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2026年9月    »
123456
78910111213
14151617181920
21222324252627
282930
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接

    Powered By Z-BlogPHP 1.7.3