Skip to content

安装与运行

环境要求

  • JDK:Elasticsearch 基于 Java,需要安装 JDK。推荐 OpenJDK 1117(具体以 官方文档 为准)。
  • 内存:学习环境至少 2GB 可用内存;生产环境根据数据量与查询负载调整,ES 默认堆内存约 1GB,可配置。
  • 磁盘:预留足够空间存放索引数据与日志。
  • 系统:支持 Windows、Linux、macOS。生产环境以 Linux 为主。

安装 Elasticsearch

方式一:官网下载压缩包(通用)

  1. 打开 Elasticsearch 下载页,选择版本与操作系统,下载压缩包。
  2. 解压到目录,例如:D:\elasticsearch-8.x.x/opt/elasticsearch-8.x.x
  3. 无需单独安装,解压即用(需本机已装 JDK,或使用自带 JDK 的版本)。

方式二:包管理器

  • Windows:可用 Chocolatey:choco install elasticsearch
  • Linux (Debian/Ubuntu):使用 apt 仓库安装(见官方文档)。
  • Linux (RHEL/CentOS):使用 yum 仓库安装。
  • macOSbrew install elasticsearch

方式三:Docker(适合本地学习)

bash
docker run -d --name elasticsearch \
  -p 9200:9200 -p 9300:9300 \
  -e "discovery.type=single-node" \
  -e "xpack.security.enabled=false" \
  docker.elastic.co/elasticsearch/elasticsearch:8.x.x
  • discovery.type=single-node:单节点模式,无需配置集群。
  • xpack.security.enabled=false:关闭安全认证,便于本地练习(生产环境建议开启)。

启动与验证

启动命令

  • 压缩包 / 本地安装
    • Windows:在解压目录下执行 bin\elasticsearch.bat
    • Linux / macOS:./bin/elasticsearch(前台运行),或加 -d 后台运行。
  • 系统服务:若通过包管理器安装,通常可用 systemctl start elasticsearch(Linux)等。

验证是否启动成功

  1. 打开浏览器或使用 curl,访问:http://localhost:9200
  2. 若返回一段 JSON(包含 cluster_nameversion 等),说明 ES 已成功运行。

示例返回:

json
{
  "name" : "node-1",
  "cluster_name" : "elasticsearch",
  "version" : { "number" : "8.x.x" },
  "tagline" : "You Know, for Search"
}

集群健康

查看集群健康状态:

http
GET http://localhost:9200/_cluster/health

返回中的 status 可为 greenyellowred。单节点且无副本时多为 yellow(副本未分配),属正常;green 表示主分片和副本均正常。


安装 Kibana(可选但强烈推荐)

Kibana 是 Elastic Stack 的可视化界面,可方便地执行 REST 请求、查看索引和数据。

  1. Kibana 下载页 下载与 ES 同版本的安装包,解压或通过包管理器安装。
  2. 启动:运行 bin/kibana(或 bin\kibana.bat),默认连接本机 http://localhost:9200
  3. 浏览器访问 http://localhost:5601,打开 Kibana。
  4. 进入 Management → Dev Tools(开发工具),即可在控制台里写请求并发送到 ES。

在 Dev Tools 中写第一条请求示例:

http
GET _cluster/health

点击执行后,下方会显示 ES 返回的 JSON。后续教程中的 API 都可以在这里练习。


常见安装问题

问题可能原因与处理
端口被占用默认 9200(HTTP)、9300(节点通信)。修改 config/elasticsearch.ymlhttp.port 等,或关闭占用端口的程序。
内存不足报错中若提示 JVM 或 memory,可适当增大机器内存,或调整 config/jvm.options 中的堆大小(建议不超过物理内存的 50%)。
无法绑定外网 IP默认只绑定 localhost。若需外网访问,在 elasticsearch.yml 中设置 network.host(生产环境务必配合安全与防火墙)。
bootstrap 检查失败单机学习时,若报 bootstrap 相关错误,可在 elasticsearch.yml 中设置 discovery.type: single-node,或按提示调整系统参数(仅开发环境)。