Appearance
安装与运行
环境要求
- JDK:Elasticsearch 基于 Java,需要安装 JDK。推荐 OpenJDK 11 或 17(具体以 官方文档 为准)。
- 内存:学习环境至少 2GB 可用内存;生产环境根据数据量与查询负载调整,ES 默认堆内存约 1GB,可配置。
- 磁盘:预留足够空间存放索引数据与日志。
- 系统:支持 Windows、Linux、macOS。生产环境以 Linux 为主。
安装 Elasticsearch
方式一:官网下载压缩包(通用)
- 打开 Elasticsearch 下载页,选择版本与操作系统,下载压缩包。
- 解压到目录,例如:
D:\elasticsearch-8.x.x或/opt/elasticsearch-8.x.x。 - 无需单独安装,解压即用(需本机已装 JDK,或使用自带 JDK 的版本)。
方式二:包管理器
- Windows:可用 Chocolatey:
choco install elasticsearch。 - Linux (Debian/Ubuntu):使用 apt 仓库安装(见官方文档)。
- Linux (RHEL/CentOS):使用 yum 仓库安装。
- macOS:
brew 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.xdiscovery.type=single-node:单节点模式,无需配置集群。xpack.security.enabled=false:关闭安全认证,便于本地练习(生产环境建议开启)。
启动与验证
启动命令
- 压缩包 / 本地安装:
- Windows:在解压目录下执行
bin\elasticsearch.bat。 - Linux / macOS:
./bin/elasticsearch(前台运行),或加-d后台运行。
- Windows:在解压目录下执行
- 系统服务:若通过包管理器安装,通常可用
systemctl start elasticsearch(Linux)等。
验证是否启动成功
- 打开浏览器或使用 curl,访问:
http://localhost:9200。 - 若返回一段 JSON(包含
cluster_name、version等),说明 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 可为 green、yellow、red。单节点且无副本时多为 yellow(副本未分配),属正常;green 表示主分片和副本均正常。
安装 Kibana(可选但强烈推荐)
Kibana 是 Elastic Stack 的可视化界面,可方便地执行 REST 请求、查看索引和数据。
- 从 Kibana 下载页 下载与 ES 同版本的安装包,解压或通过包管理器安装。
- 启动:运行
bin/kibana(或bin\kibana.bat),默认连接本机http://localhost:9200。 - 浏览器访问
http://localhost:5601,打开 Kibana。 - 进入 Management → Dev Tools(开发工具),即可在控制台里写请求并发送到 ES。
在 Dev Tools 中写第一条请求示例:
http
GET _cluster/health点击执行后,下方会显示 ES 返回的 JSON。后续教程中的 API 都可以在这里练习。
常见安装问题
| 问题 | 可能原因与处理 |
|---|---|
| 端口被占用 | 默认 9200(HTTP)、9300(节点通信)。修改 config/elasticsearch.yml 中 http.port 等,或关闭占用端口的程序。 |
| 内存不足 | 报错中若提示 JVM 或 memory,可适当增大机器内存,或调整 config/jvm.options 中的堆大小(建议不超过物理内存的 50%)。 |
| 无法绑定外网 IP | 默认只绑定 localhost。若需外网访问,在 elasticsearch.yml 中设置 network.host(生产环境务必配合安全与防火墙)。 |
| bootstrap 检查失败 | 单机学习时,若报 bootstrap 相关错误,可在 elasticsearch.yml 中设置 discovery.type: single-node,或按提示调整系统参数(仅开发环境)。 |