SpringBoot教程(安装篇):Elasticsearch及可视化工具安装(Windows环境)

SpringBoot教程(安装篇):Elasticsearch及可视化工具安装(Windows环境)

  • [一、核心前提:确定 Elasticsearch 版本(避免版本冲突)](#一、核心前提:确定 Elasticsearch 版本(避免版本冲突))
    • [1.1 核心匹配逻辑](#1.1 核心匹配逻辑)
    • [1.2 实操步骤:确认项目中的 Spring Data Elasticsearch 版本](#1.2 实操步骤:确认项目中的 Spring Data Elasticsearch 版本)
  • [二、Windows 系统安装 Elasticsearch](#二、Windows 系统安装 Elasticsearch)
  • [三、Elasticsearch 目录介绍](#三、Elasticsearch 目录介绍)
  • [四、Elasticsearch 配置(必要操作)](#四、Elasticsearch 配置(必要操作))
    • [1. 使用 内置 JDK](#1. 使用 内置 JDK)
    • [2. 关闭 geoip 数据库更新(解决超时日志)](#2. 关闭 geoip 数据库更新(解决超时日志))
  • [五、Elasticsearch 启动](#五、Elasticsearch 启动)
    • [Elasticsearch 7.X 启动](#Elasticsearch 7.X 启动)
    • [Elasticsearch 8.X 启动](#Elasticsearch 8.X 启动)
  • 六、可视化工具
    • [1. elasticsearch-head 安装(轻量首选)](#1. elasticsearch-head 安装(轻量首选))
      • [1.1 前提:安装 Node.js](#1.1 前提:安装 Node.js)
      • [1.2 下载与解压](#1.2 下载与解压)
      • [1.3 安装依赖与启动](#1.3 安装依赖与启动)
      • [1.4 连接 ES](#1.4 连接 ES)
    • [2. Kibana 安装(官方推荐,可选)](#2. Kibana 安装(官方推荐,可选))
      • [2.1 下载与版本匹配](#2.1 下载与版本匹配)
      • [2.2 核心配置(汉化+连接 ES)](#2.2 核心配置(汉化+连接 ES))
      • [2.3 启动与使用](#2.3 启动与使用)
      • 工具选择建议
  • 七、参考文章

一、核心前提:确定 Elasticsearch 版本(避免版本冲突)

ES 服务端版本需与项目中 Spring Data Elasticsearch 版本严格匹配(主版本一致,次版本建议完全相同),否则会出现连接失败、API 报错等问题,具体步骤如下:

1.1 核心匹配逻辑

Spring 官方提供明确的版本对应关系,优先参考官方文档:

👉 Spring Data Elasticsearch 官方版本对照页

核心规则 :通过 Spring Data Elasticsearch 版本 反向查询对应的 Elasticsearch 版本(例如:Spring Data Elasticsearch 4.3.x → Elasticsearch 7.15.x)。

1.2 实操步骤:确认项目中的 Spring Data Elasticsearch 版本

(1)项目中引入 ES 场景启动器:

xml 复制代码
<!--Elasticsearch 场景启动器方式 -->
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>

(2)查看集成版本:

开发工具(如 IDEA)中,按住 Ctrl 键点击上述依赖,进入依赖详情页

看到 spring-data-elasticsearch 的版本 为4.3.9 ,那 需要下载的 Es 版本则为7.15.2

二、Windows 系统安装 Elasticsearch

下载 ES 安装包

  • 最新版本Elasticsearch 官网下载页
  • 历史版本Elasticsearch 历史版本下载
  • 下载格式 :选择 Windows 压缩包(.zip 格式) ,无需复杂安装,解压后即可使用(解压路径需无中文、无空格,示例:D:\Develop\Env\Elasticsearch\elasticsearch-7.15.2)。

三、Elasticsearch 目录介绍

解压后 ES 核心目录及作用如下,了解目录功能可快速定位配置、日志等文件:

目录名 核心作用
bin 脚本目录:包含启动脚本(elasticsearch.bat)、插件安装脚本(elasticsearch-plugin.bat)等
config 配置目录:核心配置文件存放地,如 elasticsearch.yml(ES 主配置)、jvm.options(JVM 内存参数配置)
jdk 内置 JDK:ES 7.0+ 版本自带适配 JDK(如 7.X 带 JDK 11,8.X 带 JDK 17),无需额外安装
logs 日志目录:存储启动日志、运行日志(闪退/报错时,优先查看 elasticsearch.log 定位原因)
plugins 插件目录:存放 ES 插件(如 IK 中文分词器,默认空目录,需手动安装插件)
data 数据目录:存储 ES 索引数据(启动后自动生成,勿手动删除,避免数据丢失)

四、Elasticsearch 配置(必要操作)

1. 使用 内置 JDK

1.1 核心原因

ES 默认用的是我们系统的JDK,为了避免JDK 版本不兼容问题导致闪退,改成使用它自己包里面内置 的JDK

1.2 具体操作

(1)进入 ES 安装目录 → 打开 bin 文件夹 → 用记事本/Notepad++ 编辑 elasticsearch.bat

(2)在文件 最开头( @echo off 之后) 添加以下配置(替换为你的 ES 实际路径):

bash 复制代码
:: 用 ES_JAVA_HOME 指定内置 JDK 路径(替代弃用的 JAVA_HOME)
set ES_JAVA_HOME=D:\Develop\Env\Elasticsearch\elasticsearch-7.15.2\jdk
:: 优先使用内置 JDK 的 bin 目录,覆盖系统 JDK
set PATH=%ES_JAVA_HOME%\bin;%PATH%

(3) 保存文件,双击 elasticsearch.bat 重新启动,闪退问题会解决。

2. 关闭 geoip 数据库更新(解决超时日志)

2.1 核心原因

ES 默认自动下载 geoip 数据库(用于解析 IP 地理位置),该数据库存储在国外服务器,国内网络访问易触发超时(日志提示 java.net.SocketTimeoutException: connect timed out),虽不影响启动,但会持续输出错误日志。

2.2 具体操作

(1) 进入 ES 安装目录 → 打开 config 文件夹 → 编辑 elasticsearch.yml

(2)在文件 末尾 新增以下配置(单独成行,避免与其他配置冲突):

yaml 复制代码
# 关闭 geoip 数据库自动更新(解决国内网络超时)
ingest.geoip.downloader.enabled: false

(3)保存配置,重启 ES 服务,超时日志会完全消失。

五、Elasticsearch 启动

Elasticsearch 7.X 启动

访问 http://127.0.0.1:9200,出现以下截图,表示启动成功

Elasticsearch 8.X 启动

ES 8.X 默认开启安全认证(需账号密码登录),关键配置如下:

1 重置初始密码(首次使用)

(1)先启动 ES 服务(双击 bin/elasticsearch.bat);

(2)打开命令行,进入 ES 安装目录的 bin 文件夹;

(3)执行以下命令,重置内置用户密码(elastic 为核心管理员用户,必须保存密码):

bash 复制代码
# 1. 重置 elastic 用户密码(优先执行,用于登录 ES/Kibana)
elasticsearch-reset-password --batch --user elastic
# 2. (可选)重置 logstash_system 用户密码(仅 Logstash 连接时需用)
elasticsearch-reset-password --batch --user logstash_system

(4)执行后,命令行会输出类似 New password for the [elastic] user is: xxxxxxxx 的内容,复制保存密码(后续登录必需)。

2 修改现有密码(后续变更)

若需更新已设置的密码,通过 Windows 自带的 curl 命令执行(替换 原密码新密码):

bash 复制代码
# 格式:curl -X PUT "ES地址/_security/user/用户名/_password" -u "用户名:原密码" -H "Content-Type: application/json" -d "{\"password\": \"新密码\"}"
curl -X PUT "http://localhost:9200/_security/user/elastic/_password" -u "elastic:原密码" -H "Content-Type: application/json" -d "{\"password\": \"123456\"}"

执行成功会返回 {"acknowledged":true},失败需检查原密码是否正确。

3 验证访问

访问 http://127.0.0.1:9200,浏览器会弹出登录框,输入用户名 elastic 和重置后的密码,验证通过后返回 ES 信息,说明认证配置生效。

六、可视化工具

1. elasticsearch-head 安装(轻量首选)

elasticsearch-head 是开源轻量工具,支持索引查看、数据 CRUD、集群状态监控,适合基础管理,依赖 Node.js 环境。

1.1 前提:安装 Node.js

(1)下载地址:Node.js 官网(选择 LTS 版本,如 18.x);

(2)安装验证:打开命令行,执行 node -vnpm -v,能显示版本号(如 v18.17.0)即成功。

1.2 下载与解压

(1)GitHub 地址:elasticsearch-head 源码库

(2)直接下载:master 分支压缩包

(3)解压路径:建议与 ES 同级(如 D:\Develop\Env\elasticsearch-head),无中文、无空格

1.3 安装依赖与启动

(1)切换 npm 镜像(解决国内下载慢):

bash 复制代码
npm config set registry https://registry.npmmirror.com/

(2)安装 Grunt 工具(全局安装,用于启动服务):

bash 复制代码
npm install -g grunt-cli

(3)安装项目依赖 :命令行进入 elasticsearch-head 解压目录,执行:

bash 复制代码
npm install

(4)启动服务

bash 复制代码
grunt server

启动成功提示:Started connect web server on http://localhost:9100

1.4 连接 ES

(1)7.X 无认证:访问 http://localhost:9100,输入 ES 地址 http://127.0.0.1:9200,点击"连接"

(2)8.X 有认证:访问 http://localhost:9100/?auth_user=elastic&auth_password=你的密码,再输入 ES 地址连接。

2. Kibana 安装(官方推荐,可选)

Kibana 是 ES 官方工具,支持日志分析、数据可视化(图表/仪表盘)、Dev Tools 命令行,必须与 ES 版本完全一致,精确到小版本(如 ES 7.15.2 → Kibana 7.15.2)。

2.1 下载与版本匹配

2.2 核心配置(汉化+连接 ES)

(1)解压 Kibana 安装包 → 打开 config 文件夹 → 编辑 kibana.yml

(2)汉化配置(默认英文,可选):

bash 复制代码
i18n.locale: "zh-CN"

(3)8.X 认证配置(7.X 无需):

bash 复制代码
# ES 连接地址(默认已配置)
elasticsearch.hosts: ["http://localhost:9200"]
# ES 认证账号密码
elasticsearch.username: "elastic"
elasticsearch.password: "你的 ES 密码"

2.3 启动与使用

  1. 双击 bin/kibana.bat 启动(首次启动加载插件,耗时 1-2 分钟);
  2. 访问 http://localhost:5601(默认端口);
  3. 关键功能:
    • Dev Tools:执行 ES 命令(如 GET /_cat/indices 查看索引);
    • 发现(Discover):查看数据(需先创建"索引模式");
    • 可视化(Visualize Library):创建折线图、饼图等。

工具选择建议

  • 基础管理(索引 CRUD、集群状态):选 elasticsearch-head(轻量、启动快);
  • 高级分析(日志查询、数据可视化):选 Kibana(官方适配,功能全面)。

七、参考文章

  1. Windows 系统下 Elasticsearch-7.15.2 安装:https://blog.csdn.net/joshua317/article/details/121778216
  2. elasticsearch + elasticsearch-head 下载、配置启动:https://blog.csdn.net/yhj_911/article/details/118803224
  3. Elasticsearch 用户设置及密码修改教程:https://cloud.baidu.com/article/2856570
  4. elasticsearch-head 连接 ES 8.X 集群(密码认证):https://blog.csdn.net/m0_56525972/article/details/138673463
  5. Kibana 可视化和浏览数据:https://www.cnblogs.com/h--d/p/13168356.html
相关推荐
忧郁的橙子.3 小时前
IntelliJ IDEA 2023中为 Spring Boot 项目添加注释模板
java·spring boot·intellij-idea
sniper_fandc3 小时前
Elasticsearch从入门到进阶——搜索优化原理
elasticsearch·搜索引擎·lucene·1024程序员节
有谁看见我的剑了?3 小时前
Rocky 9 安装 Elasticsearch分布式集群
分布式·elasticsearch·jenkins
聆风吟º3 小时前
【Spring Boot 报错已解决】别让端口配置卡壳!Spring Boot “Binding to target failed” 报错解决思路
android·java·spring boot
Pastthewind13 小时前
docker-compose部署ES
elasticsearch
遥远_14 小时前
Spring Boot微服务健康检测:保障系统稳定性的关键实践
spring boot·微服务·1024程序员节·健康检测
苹果醋314 小时前
学习札记-Java8系列-1-Java8新特性简介&为什么要学习Java8
java·运维·spring boot·mysql·nginx
兜兜风d'14 小时前
RabbitMQ 发送方确认机制详解
spring boot·分布式·rabbitmq·java-rabbitmq·1024程序员节
shepherd12615 小时前
破局延时任务(上):为什么选择Spring Boot + DelayQueue来自研分布式延时队列组件?
java·spring boot·后端·1024程序员节