Elasticsearch 是一个基于 Apache Lucene 构建的分布式搜索和分析引擎、可扩展的数据存储以及向量数据库。它针对生产规模的工作负载的速度和相关性进行了优化。使用 Elasticsearch 可以近乎实时地搜索、索引、存储和分析各种形状和大小的数据。
一、环境准备
操作系统支持
支持 Linux、macOS、Windows 系统。
生产环境建议使用 Linux 服务器,避免 Windows 环境。
Java 环境
Elasticsearch 7.x 及以上版本需 Java 11+;部分版本自带捆绑 JDK(如 7.10.1 自带 JDK 12)。
若需自定义 JDK,设置 ES_JAVA_HOME 环境变量指向 JDK 安装路径。
二、安装步骤
Linux/macOS
下载并解压
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.1-linux-x86_64.tar.gz
tar -zxvf elasticsearch-7.10.1-linux-x86_64.tar.gz -C /usr/local/
复制
配置系统参数
修改 /etc/sysctl.conf:
vm.max_map_count = 262144
复制
修改 /etc/security/limits.conf:
* soft nofile 65536
* hard nofile 65536
* soft memlock unlimited
* hard memlock unlimited
复制
效配置:sysctl -p
修改 Elasticsearch 配置
Elasticsearch 有三个配置文件
elasticsearch.yml 用于配置 Elasticsearch
jvm.options 用于配置 Elasticsearch JVM 设置
log4j2.properties 用于配置 Elasticsearch 日志记录
这些文件位于 config 目录中,其默认位置取决于安装是来自归档分发(tar.gz 或 zip)还是软件包分发(Debian 或 RPM 包)。
编辑 config/elasticsearch.yml:
cluster.name: my-es-cluster
node.name: node-1
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["localhost"]
cluster.initial_master_nodes: ["node-1"]
http.cors.enabled: true # 允许跨域(用于可视化插件)
http.cors.allow-origin: "*" # 跨域白名单
复制
-Xms1g
-Xmx1g
复制
useradd esuser
chown -R esuser:esuser /usr/local/elasticsearch-7.10.1
su esuser
cd bin && ./elasticsearch -d # 后台启动
复制
首次启动 Elasticsearch 时,默认情况下会启用并配置安全功能。会自动执行以下安全配置
1.启用身份验证和授权,并为 elastic 内置超级用户生成密码。
2.为传输和 HTTP 层生成 TLS 的证书和密钥,并使用这些密钥和证书启用和配置 TLS。
3.为 Kibana 生成注册令牌,有效期为 30 分钟。
elastic 用户的密码和 Kibana 的注册令牌将输出到您的终端。
建议将 elastic 密码作为 shell 中的环境变量存储。如:
export ELASTIC_PASSWORD="your_password"
复制
三、验证安装
访问 http://localhost:9200,返回如下 JSON 表示成功:
{
"name": "node-1",
"cluster_name": "my-es-cluster",
"version": "7.10.1",
"tagline": "You Know, for Search"
}
复制
四、常见问题解决
权限不足
错误:can not run elasticsearch as root 解决方案:创建非 root 用户并授权。
内存不足
错误:OpenJDK 64-Bit Server VM warning: heap size 修改 jvm.options 调整 -Xms 和 -Xmx 值(建议不超过物理内存 50%)。
跨域访问失败
确保 elasticsearch.yml 中已配置 http.cors 相关参数。
分片分配错误
集群模式下需检查节点通信和 discovery.seed_hosts 配置。
五、可选组件安装
Kibana(可视化工具):https://www.elastic.co/cn/downloads/past-releases#kibana
Elasticsearch-head(管理插件):https://github.com/mobz/elasticsearch-head