Windows11 安装 Elasticsearch 9.2.1 全过程

发布时间:2026/5/25 6:26:23

Windows11 安装 Elasticsearch 9.2.1 全过程 Elasticsearch 是一个强大的分布式搜索和分析引擎广泛应用于日志分析、全文检索等场景。本文将详细介绍如何在 Windows 操作系统上从零开始安装最新版的 Elasticsearch 9.2.1并完成关键配置——启用内置的安全认证功能设置密码以及安装中文分词插件 IK。希望能帮助大家快速搭建起自己的 ES 环境。环境准备在开始之前请确保你的 Windows 环境满足以下要求操作系统: Windows 10/11 (64位)。虽然 ES 可能在更老的系统上运行但为了兼容性和性能推荐使用较新的 Windows 版本。Java 环境: Elasticsearch 9.x 版本需要Java 21或更高版本。这是必须项请先检查你的 Java 版本在命令行输入java -version查看。如果没有安装或版本低于 21请前往 Oracle JDK 或 OpenJDK 下载并安装 JDK 21。安装完成后配置系统环境变量JAVA_HOME指向 JDK 的安装目录。命令行工具: 我们将使用Windows PowerShell或CMD来执行大部分命令。熟悉它们的基本操作即可。第一步下载和解压 Elasticsearch 9.2.1访问官网下载页: 打开你的浏览器访问 Elasticsearch 官方下载地址。选择版本: 在页面上找到 9.x 系列选择9.2.1版本。下载 ZIP 包: 选择 Windows ZIP 格式进行下载。它是一个压缩包解压即用非常适合本地开发测试。解压文件:将下载好的.zip文件例如elasticsearch-9.2.1-windows-x86_64.zip移动到你计划安装 Elasticsearch 的目录比如D:\盘根目录。解压该 ZIP 文件。你会得到一个名为elasticsearch-9.2.1的文件夹。为了后续操作方便你可以将这个文件夹重命名为elasticsearch。最终路径可能是D:\elasticsearch\。第二步可选修改基础配置进入D:\elasticsearch\config目录你会看到两个重要的配置文件elasticsearch.yml和jvm.options。编辑elasticsearch.yml:用记事本或其他文本编辑器打开elasticsearch.yml。这个文件使用 YAML 语法注意缩进通常是两个空格。#开头的是注释。集群名称 (可选): 修改cluster.name方便识别你的集群。cluster.name: my-es-cluster节点名称 (可选): 修改node.name标识当前节点。node.name: node-921网络绑定 (重要): Elasticsearch 默认只允许本机访问 (_local_)。如果你想让其他设备访问例如通过 IP 地址需要修改network.host。对于纯粹的本地开发保持默认或显式设置localhost即可。network.host: localhost # 仅本地访问 # network.host: 0.0.0.0 # 允许所有 IP 访问生产环境需谨慎HTTP 端口 (可选): 默认是9200通常无需修改。# http.port: 9200发现设置 (单节点环境): 如果你只是运行单个节点用于学习测试可以添加此配置避免 ES 尝试寻找其他节点减少不必要的日志输出。discovery.type: single-node数据与日志路径 (可选): 你可以指定 ES 存放索引数据和日志文件的位置而不是使用默认的elasticsearch\目录下的data和logs文件夹。path.data: D:\es_data path.logs: D:\es_logs编辑jvm.options(可选):如果你的机器内存较大可以适当调大 JVM 的堆内存Xms 和 Xmx但不要超过物理内存的一半。默认值通常是 1GB 到 2GB对于开发测试足够了。第三步启动 Elasticsearch 并启用内置安全功能Elasticsearch 8.x 及以后版本包括 9.x默认启用了内置的安全功能Basic License这意味着你需要设置密码才能访问。打开 PowerShell/CMD:按住Shift键同时右键点击D:\elasticsearch文件夹内的空白处。选择 在此处打开 PowerShell 窗口 或 在此处打开命令窗口。启动 Elasticsearch:在打开的 PowerShell/CMD 中输入以下命令启动 ES.\bin\elasticsearch.bat首次启动: 由于开启了安全功能ES 启动过程会自动执行一些初始化步骤。它会生成一个临时的弹性凭证Elasticsearch security credentials包括elastic用户的密码。查看密码: 在控制台输出的日志中仔细查找类似于下面的行... {timestamp:...,log.level:INFO,message:The generated password for the elastic built-in superuser is : abcdefg-hijklmnop-qrs-tuvw-xyz123456789} ...请务必找到并记录下这串随机生成的密码它是elastic用户的初始密码后面用它登录或访问集群。重置密码.\elasticsearch-reset-password.bat -i -u elastic验证启动:当你看到类似[main] INFO org.elasticsearch.node.Node - Started的日志信息时表示 ES 已成功启动。打开浏览器访问https://localhost:9200(注意是 HTTPS)。你会遇到 SSL 证书错误这是正常的。继续访问在 Chrome 中点击“高级” - “继续前往 localhost”在 Firefox 中可能会有类似的选项。此时浏览器会提示你输入用户名和密码。用户名是elastic密码就是刚才启动时生成的那个随机密码。输入正确的凭据后你应该能看到一个 JSON 格式的响应包含 ES 的基本信息如版本号、集群名等。这表明 ES 已经运行并且安全功能生效。第四步安装 IK 分词器插件IK Analyzer 是一个优秀的中文分词插件对于处理中文文本至关重要。下载匹配的插件包访问analysis-ik的 GitHub Releases 页面https://github.com/infinilabs/analysis-ik/releases关键务必下载与你的 Elasticsearch 版本完全匹配的插件包。例如ES 9.2.1 对应elasticsearch-analysis-ik-{version}-es-9.2.1.zip。移动 ZIP 文件到安全路径重要为了避免在安装命令中因路径包含空格如Program Files或中文字符导致URISyntaxException请将下载的 ZIP 文件移动到一个路径简单、不包含空格和特殊字符的目录。例如直接放在D:\或C:\盘根目录下。使用file://安装插件打开命令提示符CMD切换到 Elasticsearch 的bin目录cd /d D:\path\to\your\elasticsearch-9.2.1\bin使用elasticsearch-plugin命令安装必须使用file://前缀和不含空格的路径# 假设 ZIP 文件在 D:\elasticsearch-analysis-ik-9.2.1.zip elasticsearch-plugin install file:///D:/elasticsearch-analysis-ik-9.2.1.zip按提示输入y确认安装。配置插件权限 (entitlement.policy)这是解决NotEntitledException的核心步骤。安装完成后前往D:\path\to\your\elasticsearch-9.2.1\plugins\analysis-ik\目录。检查是否存在entitlement.policy文件。如果不存在新建一个名为entitlement.policy的文件注意扩展名是.policy不是.txt。如果存在打开并检查内容。编辑/创建entitlement.policy文件填入以下内容grant { // 允许插件进行网络连接和域名解析 (可能用于热重载等功能) permission java.net.SocketPermission *, connect,resolve; // 允许插件读取其 config 目录下的所有文件包括子目录 permission java.io.FilePermission ${elasticsearch.path.plugins}/analysis-ik/config/-, read; // 允许插件读取其 config 目录下的所有文件非递归补充声明 permission java.io.FilePermission ${elasticsearch.path.plugins}/analysis-ik/config/*, read; };注意$ {elasticsearch.path.plugins}是一个动态变量代表 ES 的 plugins 目录这样配置具有更好的通用性。检查并移除entitlement-policy.yaml如果analysis-ik目录下存在entitlement-policy.yaml文件请将其删除避免与.policy文件产生冲突。启动 Elasticsearch在bin目录下运行elasticsearch.bat。仔细观察启动日志确认analysis-ik插件被加载 (loaded plugin [analysis-ik])并且没有NotEntitledException相关错误。验证插件启动成功后可以通过 API 测试插件是否正常工作curl -X GET localhost:9200/_analyze?pretty -H Content-Type: application/json -d { analyzer: ik_smart, text: 测试一下中文分词 }

相关新闻