下载地址/官网:Elasticsearch Download
Elasticsearch 后续可以做商品搜索、文章搜索、日志检索和复杂聚合分析。它不是普通数据库的替代品,索引结构、分词、字段类型和刷新策略都会影响效果。
端口和用途
| 端口 | 用途 |
|---|---|
| 9200 | HTTP API 和客户端访问 |
9200 不要直接暴露公网。生产环境必须启用安全认证和 TLS。
Windows 安装部署 Elasticsearch
-
打开 Elasticsearch Download,下载 Windows ZIP 包。
-
解压到固定目录,例如:
D:\apps\elasticsearch
- 仅本机学习时,可以先关闭安全认证。编辑
config\elasticsearch.yml,追加:
xpack.security.enabled: false
xpack.security.enrollment.enabled: false
- 启动:
Set-Location D:\apps\elasticsearch
.\bin\elasticsearch.bat
- 验证:
Invoke-RestMethod http://127.0.0.1:9200
看到 cluster_name 和版本信息即可。
- 如果保留安全认证,首次启动时终端会输出
elastic的初始密码,必须保存。忘记密码可以重置:
.\bin\elasticsearch-reset-password.bat -u elastic
Ubuntu 安装部署 Elasticsearch
- 添加官方 APT 源:
sudo apt update
sudo apt install -y apt-transport-https
es_keyring=/usr/share/keyrings/elasticsearch-keyring.gpg
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch \
| sudo gpg --dearmor -o "$es_keyring"
echo "deb [signed-by=$es_keyring] https://artifacts.elastic.co/packages/8.x/apt stable main" \
| sudo tee /etc/apt/sources.list.d/elastic-8.x.list
- 安装:
sudo apt update
sudo apt install -y elasticsearch
- 小内存测试环境限制堆内存。编辑
/etc/elasticsearch/jvm.options.d/heap.options:
-Xms1g
-Xmx1g
- 启动并设为开机自启:
sudo systemctl daemon-reload
sudo systemctl enable --now elasticsearch
sudo systemctl status elasticsearch --no-pager
- APT 安装默认启用安全认证。查看或重置密码:
sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
- 验证:
curl -k -u elastic:'your-elastic-password' https://127.0.0.1:9200
macOS 安装部署 Elasticsearch
- 使用官方 Homebrew 包:
brew install elastic/tap/elasticsearch-full
- 启动:
brew services start elastic/tap/elasticsearch-full
- 验证:
curl -k https://127.0.0.1:9200
如果启用安全认证,需要加 -u elastic 并输入密码。
生产部署建议
- 至少三节点,避免脑裂和数据不可用。
- 堆内存一般不超过机器内存一半,且不要超过 31GB。
- 必须启用 TLS、认证、角色和索引权限。
- 分片数和副本数按数据量规划,不是越多越好。
- 明确映射,避免字段类型被第一条数据带偏。
- 写入频繁的场景调低
refresh_interval带来的实时性预期。
常见问题
启动失败提示 vm.max_map_count,Linux 上需要按官方文档调大内核参数。
9200 能连但返回 401,说明安全认证已启用,账号密码或 TLS 配置不对。
写入延迟高不要先加节点,先确认 refresh interval、分片大小、mapping 和查询是否合理。