第2章 Elasticsearch安装
2.1 系统要求
安装 Elasticsearch 前请确认系统满足以下要求:
硬件要求
- 内存:最低 2GB RAM,推荐 4GB 以上
- 磁盘:至少 1GB 可用空间
- CPU:64位处理器
操作系统支持
- CentOS/RHEL 7.x, 8.x
- Ubuntu 18.04+
- 其他基于 systemd 的 Linux 发行版
💡 JDK 说明
Elasticsearch 7.0+ 版本已内置 OpenJDK,无需额外安装 Java 环境。
2.2 环境准备
系统安全配置
防火墙配置(测试环境可临时关闭)
# 检查防火墙状态
iptables -nL
# 清理防火墙规则(测试环境)
iptables -F && iptables -X && iptables -Z
SELinux 配置
# 临时关闭 SELinux
setenforce 0
# 检查状态
getenforce
# 永久关闭(编辑配置文件,需重启)
vim /etc/selinux/config
# 修改为:SELINUX=disabled
系统性能优化
# 关闭 swap 分区提高性能
swapoff -a
# 检查内存和磁盘空间
free -h
df -h
🚨 生产环境安全建议
生产环境中请务必注意:
- 🔒 防火墙配置:只允许 9200、9300 端口访问
- 🛡️ SELinux 设置:使用 permissive 模式而非完全关闭
- 👤 用户权限:创建专用的 elasticsearch 运行用户
- 🌐 网络访问:避免使用 0.0.0.0,限制访问 IP 范围
2.3 软件安装
下载 Elasticsearch
# 创建软件目录
mkdir -p /data/soft && cd /data/soft
# 下载 Elasticsearch 7.9.1
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.1-x86_64.rpm
# 验证下载
ls -lh elasticsearch-7.9.1-x86_64.rpm
安装软件包
# 安装 Elasticsearch
rpm -ivh elasticsearch-7.9.1-x86_64.rpm
安装完成后的重要目录:
路径 | 用途 |
---|---|
/etc/elasticsearch/ | 配置文件目录 |
/usr/share/elasticsearch/ | 程序文件目录 |
/var/lib/elasticsearch/ | 数据存储目录 |
/var/log/elasticsearch/ | 日志文件目录 |
2.4 基础配置
服务启动
# 重新加载 systemd 配置
systemctl daemon-reload
# 设置开机自启
systemctl enable elasticsearch.service
# 启动服务
systemctl start elasticsearch.service
验证安装
检查服务状态
# 查看服务状态
systemctl status elasticsearch.service
# 检查端口监听
netstat -lntup | grep 9200
功能测试
# 基础连通性测试
curl 127.0.0.1:9200
# 检查集群健康状态
curl 127.0.0.1:9200/_cluster/health?pretty
期望看到类似以下响应:
{
"name" : "node-1",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "7.9.1"
},
"tagline" : "You Know, for Search"
}
2.5 自定义配置
配置文件说明
Elasticsearch 的主要配置文件:
elasticsearch.yml
- 核心配置文件jvm.options
- JVM 内存配置elasticsearch.service
- systemd 服务配置
修改配置
⚠️ 配置前必备操作
修改配置前务必备份原文件!
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.backup
配置错误可能导致服务无法启动,备份文件可快速恢复。
基本配置示例
# 编辑配置文件
vim /etc/elasticsearch/elasticsearch.yml
# 基本配置
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node
重启服务应用配置
systemctl restart elasticsearch.service
systemctl status elasticsearch.service
💡 配置提示
network.host: 0.0.0.0
允许外部访问discovery.type: single-node
适用于单节点部署- 修改配置后需要重启服务才能生效
2.6 管理工具安装
Kibana 安装配置
Kibana 是 Elasticsearch 的可视化管理工具:
# 下载并安装 Kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.9.1-x86_64.rpm
rpm -ivh kibana-7.9.1-x86_64.rpm
# 配置 Kibana
vim /etc/kibana/kibana.yml
Kibana 基本配置:
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
启动 Kibana:
systemctl start kibana
systemctl enable kibana
访问 Kibana 界面:http://服务器IP:5601
elasticsearch-head 插件
elasticsearch-head 是集群管理的第三方工具。
💡 推荐安装方式
首选方案:Chrome 浏览器插件(最简单)
手动安装插件步骤:
- 打开Chrome浏览器 → 更多工具 → 扩展程序
- 开启"开发者模式"
- 选择"加载已解压的扩展程序"
- 选择elasticsearch-head插件目录
备选方案:Docker 安装
docker run -p 9100:9100 mobz/elasticsearch-head:7
访问地址:http://服务器IP:9100
⚠️ 跨域访问配置
如果使用非插件方式,需要在 elasticsearch.yml 中添加:
http.cors.enabled: true
http.cors.allow-origin: "*"
注意:生产环境中应限制具体的域名而非使用通配符。
2.7 故障排除
常见问题
🚨 服务无法启动
问题现象:systemctl start elasticsearch
失败
排查步骤:
# 1. 查看详细错误信息
journalctl -u elasticsearch.service -f
# 2. 检查配置文件语法
elasticsearch --config-dir /etc/elasticsearch
# 3. 查看启动日志
tail -f /var/log/elasticsearch/elasticsearch.log
# 4. 检查文件权限
ls -la /var/lib/elasticsearch
ls -la /var/log/elasticsearch
常见原因:配置文件语法错误、权限不足、内存不够、端口被占用
⚠️ 端口无法访问
问题现象:curl 127.0.0.1:9200
连接被拒绝
可能原因:
- 🕐 服务未完全启动(需等待 30-60 秒)
- 🔒 防火墙阻止访问
- ⚙️ 配置文件中 network.host 设置问题
- 🚫 端口被其他进程占用
排查方法:
# 检查服务状态
systemctl status elasticsearch.service
# 检查服务进程
ps aux | grep elasticsearch
# 检查端口监听
netstat -tlnp | grep java
ss -tlnp | grep 9200
# 查看错误日志
grep -i error /var/log/elasticsearch/elasticsearch.log
💡 调试技巧
查看实时日志:
# 启动过程中的实时日志
tail -f /var/log/elasticsearch/elasticsearch.log
# 只看错误和警告
grep -E "(ERROR|WARN)" /var/log/elasticsearch/elasticsearch.log
配置验证:
# 验证 YAML 语法
python -c "import yaml; yaml.safe_load(open('/etc/elasticsearch/elasticsearch.yml'))"
# 查看当前配置
curl -X GET "localhost:9200/_cluster/settings?pretty"
2.8 小结
本章完成了 Elasticsearch 的完整安装配置:
- 系统环境准备和性能优化
- Elasticsearch 软件下载和安装
- 基础配置和服务启动
- 功能验证和健康检查
- Kibana 管理工具安装
- 常见问题的故障排除
📖 下节预告
下一章将学习 Elasticsearch 的数据操作,包括文档的增删改查和基础搜索功能。
📝 文档更新时间:2025-01-26
🔄 版本信息:适用于 Elasticsearch 7.x 系列
🎯 适用场景:单机环境搭建,生产部署请参考后续集群章节