Elasticsearch 安装教程
Elasticsearch 是一个基于 Lucene 库的搜索引擎,它提供了一个分布式、支持多租户的全文搜索引擎,具有 HTTP Web 接口和无模式 JSON 文档,在开始之前,请确保你的系统满足以下基本要求:

先决条件
- Java 运行环境:Elasticsearch 8.x 需要 Java 17 或更高版本,你可以使用 OpenJDK 或 Oracle JDK。
- 足够的内存:强烈建议为 Elasticsearch 分配至少 2GB 到 4GB 的堆内存,你可以通过
jvm.options文件配置。 - 文件描述符:每个打开的文件、socket 连接等都需要一个文件描述符,建议至少 65,535。
- 虚拟内存:建议设置
vm.max_map_count至少为 262144。 - 禁用 Swap:为了保证性能,强烈建议禁用 Swap。
第一步:环境准备(所有系统通用)
这一步至关重要,可以避免后续 90% 的常见问题。
安装 Java 17
在 Linux (CentOS/RHEL) 上
# 1. 安装 EPEL 仓库 sudo yum install -y epel-release # 2. 安装 OpenJDK 17 sudo yum install -y java-17-openjdk-devel # 3. 验证 Java 版本 java -version # 应该输出类似信息: # openjdk version "17.0.x" ...
在 Linux (Ubuntu/Debian) 上
# 1. 更新包列表 sudo apt update # 2. 安装 OpenJDK 17 sudo apt install -y openjdk-17-jdk # 3. 验证 Java 版本 java -version
在 macOS 上
使用 Homebrew 是最简单的方式。
# 1. 安装 Homebrew (如果尚未安装) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 2. 安装 OpenJDK 17 brew install openjdk@17 # 3. 设置环境变量 (非常重要!) echo 'export PATH="/usr/local/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc # 如果你使用 bash,请替换为 ~/.bash_profile source ~/.zshrc # 4. 验证 Java 版本 java -version
在 Windows 上
- 访问 OpenJDK 官网 或 Adoptium (Eclipse Temurin) 下载适用于 Windows 的 JDK 17。
- 运行安装程序,记住安装路径(
C:\Program Files\Java\jdk-17)。 - 配置环境变量:
- 打开“系统属性” -> “高级” -> “环境变量”。
- 在“系统变量”中,新建
JAVA_HOME,值为你的 JDK 安装路径。 - 编辑
Path变量,添加%JAVA_HOME%\bin。 - 保存并重启命令行工具。
系统内核参数调整(Linux 必做)
以 root 用户或使用 sudo 执行以下命令:
# 设置 vm.max_map_count echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf sudo sysctl -p # 检查是否设置成功 sysctl vm.max_map_count
第二步:下载并安装 Elasticsearch
使用 ZIP/TAR 包安装(推荐用于学习、测试)
这是最通用的方法,适用于所有操作系统。

下载 Elasticsearch
访问 Elasticsearch 官网下载页面,选择你需要的版本和操作系统格式(如 .zip, .tar.gz, .msi, .dmg)。
这里以 Linux 的 .tar.gz 为例:
# 下载最新版本 (请替换为实际版本号) wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.11.3-linux-x86_64.tar.gz # 或者使用 curl curl -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.11.3-linux-x86_64.tar.gz
解压
# 创建一个目录用于存放解压后的文件 mkdir ~/elasticsearch # 解压到该目录 tar -xvzf elasticsearch-*.tar.gz -C ~/elasticsearch --strip-components=1
创建专用用户(Linux 强烈推荐)
出于安全考虑,不要使用 root 用户运行 Elasticsearch。
# 创建一个名为 elasticsearch 的用户 sudo useradd -r -s /bin/false elasticsearch # 将解压后的目录所有权赋予该用户 sudo chown -R elasticsearch:elasticsearch /home/elasticsearch/elasticsearch
使用包管理器安装(推荐用于生产环境)
在 Linux (Debian/Ubuntu) 上
# 1. 安装 apt-transport-https sudo apt install apt-transport-https # 2. 导入 Elastic GPG 密钥 wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg # 3. 添加 Elastic 源 echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elasticsearch.list # 4. 安装 Elasticsearch sudo apt update sudo apt install elasticsearch
在 Linux (CentOS/RHEL) 上
# 1. 安装并启动 EPEL 仓库 sudo yum install -y yum-utils sudo yum-config-manager --enable epel # 2. 导入 Elastic GPG 密钥 sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch # 3. 添加 Elastic 源 sudo tee /etc/yum.repos.d/elasticsearch.repo << EOF [elasticsearch] name=Elasticsearch repository for 8.x packages baseurl=https://artifacts.elastic.co/packages/8.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF # 4. 安装 Elasticsearch sudo yum install -y elasticsearch
第三步:配置 Elasticsearch
进入你的 Elasticsearch 配置目录 config/elasticsearch.yml。

# 如果使用 ZIP/TAR 包 cd ~/elasticsearch/config vim elasticsearch.yml
关键配置项
- 集群名称:默认是
elasticsearch,在一个网络中,确保集群名称唯一。cluster.name: my-application-cluster
- 节点名称:每个节点的唯一标识。
node.name: node-1
- 网络地址:允许哪些 IP 访问。生产环境务必配置!
# 只允许本机访问 network.host: 127.0.0.1 # 或者允许局域网内所有机器访问 (生产环境需更严格的控制) # network.host: 0.0.0.0
- HTTP 端口:默认为
9200。http.port: 9200
- 数据路径:指定数据存储位置。
path.data: /path/to/data
- 日志路径:指定日志存储位置。
path.logs: /path/to/logs
生产环境重要配置
- JVM 堆内存:编辑
config/jvm.options文件,将-Xms和-Xmx设置为相同的值,通常是系统总内存的 50%,但不要超过 32GB。# -Xms represents the initial size of total heap space # -Xmx represents the maximum size of total heap space -Xms2g -Xmx2g
第四步:启动和运行 Elasticsearch
启动服务
使用 ZIP/TAR 包
如果你创建了专用用户,需要切换到该用户:
sudo -i
