文章目录
- 前言
- 系统要求
- [第一步:安装Java JDK](#第一步:安装Java JDK)
-
- [1.1 检查Java版本](#1.1 检查Java版本)
- [1.2 下载Java JDK](#1.2 下载Java JDK)
- [1.3 安装Java JDK](#1.3 安装Java JDK)
- 第二步:下载Elasticsearch
- 第三步:安装Elasticsearch
-
- [3.1 安装](#3.1 安装)
- [3.2 修改配置文件](#3.2 修改配置文件)
- 第四步:启动Elasticsearch
-
- [4.1 使用命令行启动](#4.1 使用命令行启动)
- [4.2 设置用户密码](#4.2 设置用户密码)
- [4.3 验证安装](#4.3 验证安装)
- 第五步:管理Elasticsearch
-
- [5.1 重置elastic用户密码](#5.1 重置elastic用户密码)
- [5.2 创建新用户](#5.2 创建新用户)
- [5.3 生成API密钥](#5.3 生成API密钥)
- 第六步:设置为Windows服务(可选)
-
- [6.1 安装服务](#6.1 安装服务)
- [6.2 启动服务](#6.2 启动服务)
- [6.3 查看服务状态](#6.3 查看服务状态)
- 第七步:安装和配置Kibana
-
- [7.1 下载Kibana](#7.1 下载Kibana)
- [7.2 解压和配置](#7.2 解压和配置)
- [7.3 启动Kibana](#7.3 启动Kibana)
- 第八步:常见问题和解决方案
- 总结
前言
Elasticsearch是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎。本教程将详细介绍如何在Windows系统上安装和配置Elasticsearch,专注于HTTP访问方式,适合初学者跟随操作。
系统要求
在开始安装之前,请确保系统满足以下要求:
- 操作系统:Windows 10/11 或 Windows Server 2016及以上版本
- Java版本:JDK 11或更高版本(推荐使用JDK 17)
- 内存:至少4GB RAM(推荐8GB或更多)
- 磁盘空间:至少10GB可用空间
第一步:安装Java JDK
1.1 检查Java版本
首先,我们需要检查系统是否已安装Java。
按下 Win + R
打开运行对话框,输入 cmd
并回车打开命令提示符。
在命令提示符中输入以下命令:
bash
java -version
如果显示Java版本信息且版本号大于等于11,可以跳过Java安装步骤。如果没有安装Java或版本过低,请继续下面的步骤。
1.2 下载Java JDK
访问Oracle官网或OpenJDK官网下载Java JDK:
Oracle JDK:https://www.oracle.com/java/technologies/downloads/
OpenJDK:https://jdk.java.net/
进入官网后下滑找到Java17,下载适配Windows系统的exe安装程序
选择适合Windows的版本进行下载(推荐下载JDK 17)。
1.3 安装Java JDK
双击下载的JDK安装包,按照安装向导进行安装,建议使用默认安装路径
安装完成,咱们使用exe程序安装后会自动配置环境变量,所以配置环境变量这一步骤咱们直接省略
打开一个新的命令提示符,验证Java安装
bash
java -version
javac -version

第二步:下载Elasticsearch
打开浏览器,访问Elasticsearch官方网站:https://www.elastic.co/downloads/elasticsearch
第三步:安装Elasticsearch
3.1 安装
找到下载的ZIP文件,右键选择"全部提取",选择解压路径(建议解压到 D:\elasticsearch 或 C:\elasticsearch)
解压完成后的目录结构:
3.2 修改配置文件
进入 config
目录,找到 elasticsearch.yml
文件,用记事本或其他文本编辑器打开。
yaml
# 集群名称
cluster.name: my-elasticsearch
# 节点名称
node.name: node-1
# 数据存储路径
path.data: C:\elasticsearch\data
# 日志存储路径
path.logs: C:\elasticsearch\logs
# 网络设置
network.host: localhost
http.port: 9200
# 发现设置(单节点模式)
discovery.type: single-node
# 安全配置(启用认证但使用HTTP访问)
xpack.security.enabled: true
xpack.security.enrollment.enabled: false
xpack.security.http.ssl.enabled: false
xpack.security.transport.ssl.enabled: false
第四步:启动Elasticsearch
4.1 使用命令行启动
打开命令提示符(建议以管理员身份运行),切换到Elasticsearch的bin目录:
bash
cd C:\elasticsearch\elasticsearch-9.1.5\bin
执行启动命令:
bash
elasticsearch.bat
4.2 设置用户密码
之前运行Elasticsearch的DOS窗口不要关闭,打开新的命令提示符窗口(保持Elasticsearch运行),执行:
bash
cd C:\elasticsearch\elasticsearch-9.1.5\bin
elasticsearch-setup-passwords interactive
按照提示为以下用户设置密码:
- elastic(超级用户) - 最重要
- apm_system
- kibana_system
- logstash_system
- beats_system
- remote_monitoring_user
建议 :为了简化,可以为所有用户设置相同的密码,比如 123456
(仅用于开发环境)。
设置完成后会显示:
4.3 验证安装
访问:http://localhost:9200
会出现登录框,输入:
- 用户名:
elastic
- 密码:刚才设置的密码
成功访问后会显示类似以下的JSON响应:
json
{
"name" : "node-1",
"cluster_name" : "my-elasticsearch",
"cluster_uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"version" : {
"number" : "9.1.5"
},
"tagline" : "You Know, for Search"
}

第五步:管理Elasticsearch
5.1 重置elastic用户密码
如果忘记了elastic用户的密码,可以使用以下命令重置:
bash
cd C:\elasticsearch\elasticsearch-9.1.5\bin
elasticsearch-reset-password -u elastic
5.2 创建新用户
可以创建新的用户来访问Elasticsearch:
bash
elasticsearch-users useradd myuser -p mypassword -r superuser
- elasticsearch-users:Elasticsearch 提供的用户管理命令行工具
- useradd:子命令,表示要添加一个新用户
- myuser:要创建的新用户名
- -p mypassword:设置该用户的密码为 "mypassword"
- -r superuser:为该用户分配"superuser"(超级用户)角色
5.3 生成API密钥
为了方便应用程序访问,可以生成API密钥:
将your_password
替换成刚刚设置的密码
bash
curl -X POST "http://localhost:9200/_security/api_key" -u elastic:your_password -H "Content-Type: application/json" -d "{\"name\": \"my-api-key\", \"expiration\": \"1d\"}"
响应示例:
json
{
"id": "zG1b05kBO1n6BYunlsxp",
"name": "my-api-key",
"expiration": 1760274018926,
"api_key": "WtMHJqud-QOEt6A6bf5VoQ",
"encoded": "ekcxYjA1a0JPMW42Qll1bmxzeHA6V3RNSEpxdWQtUU9FdDZBNmJmNVZvUQ=="
}
使用API密钥访问:
bash
curl -H "Authorization: ApiKey ekcxYjA1a0JPMW42Qll1bmxzeHA6V3RNSEpxdWQtUU9FdDZBNmJmNVZvUQ==" http://localhost:9200

第六步:设置为Windows服务(可选)
6.1 安装服务
在命令提示符中(以管理员身份运行),切换到Elasticsearch的bin目录,执行:
bash
elasticsearch-service.bat install
6.2 启动服务
bash
elasticsearch-service.bat start

6.3 查看服务状态
打开"服务"管理器(按 Win + R
,输入 services.msc
),找到"Elasticsearch"服务。
可以在这里设置服务的启动类型为"自动",这样系统启动时会自动启动Elasticsearch。
第七步:安装和配置Kibana
7.1 下载Kibana
访问:https://www.elastic.co/downloads/kibana
选择与Elasticsearch相同版本的Windows ZIP包。
7.2 解压和配置
- 解压Kibana到指定目录(例如:
C:\kibana
) - 进入
config
目录,编辑kibana.yml
文件:
yaml
# Kibana 服务运行的端口号,默认是5601
server.port: 5601
# Kibana 服务绑定的主机地址,"localhost"表示只允许本地访问
server.host: "localhost"
# Elasticsearch 服务器的地址列表
elasticsearch.hosts: ["http://localhost:9200"]
# kibana_system用户
elasticsearch.username: "kibana_system"
# 在4.2小节设置的kibana_system用户密码
elasticsearch.password: "123456"
# 禁用timelion插件
vis_type_timelion.enabled: false
7.3 启动Kibana
在命令提示符中切换到Kibana的bin目录,执行:
bash
cd C:\kibana\kibana-9.1.5\bin
kibana.bat
Kinbana启动会很慢,等待3-5分钟启动成功后,在浏览器中访问:http://localhost:5601
使用elastic
用户和密码登录。
第八步:常见问题和解决方案
问题1:端口被占用
错误信息 :Port 9200 is already in use
解决方案:
- 检查是否有其他Elasticsearch实例在运行
- 修改配置文件中的端口号:
yaml
http.port: 9201
- 使用命令查看端口占用:
netstat -ano | findstr 9200
问题2:内存不足
错误信息 :OutOfMemoryError
解决方案 :
修改 config/jvm.options
文件中的内存设置:
-Xms2g
-Xmx2g
问题3:无法访问Elasticsearch
可能原因:
- 防火墙阻止了9200端口
- network.host配置问题
解决方案:
- 检查Windows防火墙设置
- 确认配置文件中的network.host设置:
yaml
network.host: localhost # 仅本地访问
# 或
network.host: 0.0.0.0 # 允许远程访问(需要配合防火墙)
问题4:忘记用户密码
解决方案:
bash
cd C:\elasticsearch\elasticsearch-9.1.5\bin
elasticsearch-reset-password -u elastic
问题5:Kibana无法连接Elasticsearch
解决方案:
- 确认Elasticsearch正在运行
- 检查kibana.yml中的elasticsearch.hosts配置
- 如果启用了认证,确认kibana_system用户密码正确
总结
本教程详细介绍了在Windows系统上安装和配置Elasticsearch的完整流程,从Java JDK的安装、Elasticsearch的下载解压、配置文件修改、用户密码设置,到可选的Windows服务配置和Kibana的安装配置,每个步骤都提供了具体的操作指令和截图说明。通过启用HTTP访问方式并配置基础认证,既保证了安全性又便于初学者理解和操作,最后还提供了常见问题的解决方案,帮助用户快速搭建起一个可用的Elasticsearch搜索服务环境。