Windows安装Elasticsearch保姆级图文教程

 更新时间:2026年01月20日 09:19:34   作者:笃行其道  
Elasticsearch是一个基于Lucene的分布式搜索和分析引擎,适用于日志分析、全文搜索等场景,这篇文章主要介绍了Windows安装Elasticsearch的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

前言

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 并回车打开命令提示符。
在命令提示符中输入以下命令:

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安装

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 文件,用记事本或其他文本编辑器打开。

# 集群名称
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目录:

cd C:\elasticsearch\elasticsearch-9.1.5\bin

执行启动命令:

elasticsearch.bat

4.2 设置用户密码

之前运行Elasticsearch的DOS窗口不要关闭,打开新的命令提示符窗口(保持Elasticsearch运行),执行:

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响应:

{
  "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用户的密码,可以使用以下命令重置:

cd C:\elasticsearch\elasticsearch-9.1.5\bin
elasticsearch-reset-password -u elastic

5.2 创建新用户

可以创建新的用户来访问Elasticsearch:

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 替换成刚刚设置的密码

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\"}"

响应示例:

{
  "id": "zG1b05kBO1n6BYunlsxp",
  "name": "my-api-key",
  "expiration": 1760274018926,
  "api_key": "WtMHJqud-QOEt6A6bf5VoQ",
  "encoded": "ekcxYjA1a0JPMW42Qll1bmxzeHA6V3RNSEpxdWQtUU9FdDZBNmJmNVZvUQ=="
}

使用API密钥访问:

curl -H "Authorization: ApiKey ekcxYjA1a0JPMW42Qll1bmxzeHA6V3RNSEpxdWQtUU9FdDZBNmJmNVZvUQ==" http://localhost:9200

第六步:设置为Windows服务(可选)

6.1 安装服务

在命令提示符中(以管理员身份运行),切换到Elasticsearch的bin目录,执行:

elasticsearch-service.bat install

6.2 启动服务

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 解压和配置

  1. 解压Kibana到指定目录(例如:C:\kibana
  2. 进入 config 目录,编辑 kibana.yml 文件:
# 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目录,执行:

cd C:\kibana\kibana-9.1.5\bin
kibana.bat

Kinbana启动会很慢,等待3-5分钟启动成功后,在浏览器中访问:http://localhost:5601

使用elastic用户和密码登录。

第八步:常见问题和解决方案

问题1:端口被占用

错误信息Port 9200 is already in use
解决方案

  1. 检查是否有其他Elasticsearch实例在运行
  2. 修改配置文件中的端口号:
http.port: 9201
  1. 使用命令查看端口占用:netstat -ano | findstr 9200

问题2:内存不足

错误信息OutOfMemoryError

解决方案

修改 config/jvm.options 文件中的内存设置:

-Xms2g
-Xmx2g

问题3:无法访问Elasticsearch

可能原因

  1. 防火墙阻止了9200端口
  2. network.host配置问题

解决方案

  1. 检查Windows防火墙设置
  2. 确认配置文件中的network.host设置:
network.host: localhost  # 仅本地访问
# 或
network.host: 0.0.0.0    # 允许远程访问(需要配合防火墙)

问题4:忘记用户密码

解决方案

cd C:\elasticsearch\elasticsearch-9.1.5\bin
elasticsearch-reset-password -u elastic

问题5:Kibana无法连接Elasticsearch

解决方案

  1. 确认Elasticsearch正在运行
  2. 检查kibana.yml中的elasticsearch.hosts配置
  3. 如果启用了认证,确认kibana_system用户密码正确

总结

本教程详细介绍了在Windows系统上安装和配置Elasticsearch的完整流程,从Java JDK的安装、Elasticsearch的下载解压、配置文件修改、用户密码设置,到可选的Windows服务配置和Kibana的安装配置,每个步骤都提供了具体的操作指令和截图说明。通过启用HTTP访问方式并配置基础认证,既保证了安全性又便于初学者理解和操作,最后还提供了常见问题的解决方案,帮助用户快速搭建起一个可用的Elasticsearch搜索服务环境。

到此这篇关于Windows安装Elasticsearch保姆级图文教程的文章就介绍到这了,更多相关Windows安装Elasticsearch内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot多数据源切换实现代码(Mybaitis)

    SpringBoot多数据源切换实现代码(Mybaitis)

    实际工作中我们会遇到springboot项目初始化启动时候,不能指定具体连接哪个数据源的时候,不同的接口连接不同的数据源或者前端页面指定连接某个数据源等等情况,就会遇到动态数据源切换的问题,需要的朋友可以参考下
    2022-04-04
  • springboot+vue实现Token自动续期(双Token方案)

    springboot+vue实现Token自动续期(双Token方案)

    双Token方案通过访问令牌和刷新令牌提高用户登录安全性和体验,访问令牌有效期短,包含用户信息,用于请求校验,本文就来介绍一下springboot+vue实现Token自动续期(双Token方案),感兴趣的可以了解一下
    2024-10-10
  • SpringBoot3.x中spring.factories SPI 服务发现机制的改变问题小结

    SpringBoot3.x中spring.factories SPI 服务发现机制的改变问题小结

    spring.factories其实是SpringBoot提供的SPI机制,底层实现是基于SpringFactoriesLoader检索ClassLoader中所有jar引入的META-INF/spring.factories文件,这篇文章主要介绍了SpringBoot3.x中spring.factories SPI 服务发现机制的改变,需要的朋友可以参考下
    2023-05-05
  • Android中几种图片特效的处理的实现方法

    Android中几种图片特效的处理的实现方法

    这篇文章主要介绍了 Android中几种图片特效的处理的实现方法的相关资料,这里有放大缩小图片,获得圆角图片,获得带倒影图片的几种方法,需要的朋友可以参考下
    2017-08-08
  • Java23种设计模式中的单例模式你了解吗

    Java23种设计模式中的单例模式你了解吗

    这篇文章主要为大家详细介绍了Java23种设计模式中的单例模式,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • java String拼接json的方式实现

    java String拼接json的方式实现

    本文主要介绍了java String拼接json的方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • Java实现分布式系统限流

    Java实现分布式系统限流

    这篇文章主要为大家详细介绍了Java实现分布式系统限流,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • java 线程中start方法与run方法的区别详细介绍

    java 线程中start方法与run方法的区别详细介绍

    这篇文章主要介绍了java 线程中start方法与run方法的区别详细介绍的相关资料,在java线程中调用start方法与run方法的区别在哪里? 这两个问题是两个非常流行的初学者级别的多线程面试问题,这里进行详细说明,需要的朋友可以参考下
    2016-11-11
  • JavaSE详细讲解异常语法

    JavaSE详细讲解异常语法

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等
    2022-05-05
  • Java实现表达式二叉树

    Java实现表达式二叉树

    这篇文章主要为大家详细介绍了如何利用Java实现表达式二叉树,感兴趣的小伙伴们可以参考一下
    2016-08-08

最新评论