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 并回车打开命令提示符。

在命令提示符中输入以下命令:

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

  1. 解压Kibana到指定目录(例如:C:\kibana
  2. 进入 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
解决方案

  1. 检查是否有其他Elasticsearch实例在运行
  2. 修改配置文件中的端口号:
yaml 复制代码
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设置:
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

解决方案

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

总结

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

相关推荐
凯子坚持 c30 分钟前
CANN 性能剖析实战:从原始事件到交互式火焰图
windows·microsoft
Dxy123931021633 分钟前
别再让 ES 把你拖垮!5 个实战技巧让搜索性能提升 10 倍
大数据·elasticsearch·搜索引擎
2501_943695331 小时前
大专市场调查与统计分析专业,怎么辨别企业招聘的“画饼”岗位?
大数据
开开心心就好1 小时前
发票合并打印工具,多页布局设置实时预览
linux·运维·服务器·windows·pdf·harmonyos·1024程序员节
七夜zippoe1 小时前
CANN Runtime跨进程通信 共享设备上下文的IPC实现
大数据·cann
獨枭1 小时前
PyCharm 跑通 SAM 全流程实战
windows
威胁猎人1 小时前
【黑产大数据】2025年全球电商业务欺诈风险研究报告
大数据
L543414462 小时前
告别代码堆砌匠厂架构让你的系统吞吐量翻倍提升
大数据·人工智能·架构·自动化·rpa
证榜样呀2 小时前
2026 大专计算机专业必考证书推荐什么
大数据·前端
LLWZAI2 小时前
让朱雀AI检测无法判断的AI公众号文章,当创作者开始与算法「躲猫猫」
大数据·人工智能·深度学习