杰瑞科技汇

Elasticsearch安装教程,步骤复杂吗?

Elasticsearch 安装教程

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

Elasticsearch安装教程,步骤复杂吗?-图1
(图片来源网络,侵删)

先决条件

  1. Java 运行环境:Elasticsearch 8.x 需要 Java 17 或更高版本,你可以使用 OpenJDK 或 Oracle JDK。
  2. 足够的内存:强烈建议为 Elasticsearch 分配至少 2GB 到 4GB 的堆内存,你可以通过 jvm.options 文件配置。
  3. 文件描述符:每个打开的文件、socket 连接等都需要一个文件描述符,建议至少 65,535
  4. 虚拟内存:建议设置 vm.max_map_count 至少为 262144
  5. 禁用 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 上

  1. 访问 OpenJDK 官网Adoptium (Eclipse Temurin) 下载适用于 Windows 的 JDK 17。
  2. 运行安装程序,记住安装路径(C:\Program Files\Java\jdk-17)。
  3. 配置环境变量:
    • 打开“系统属性” -> “高级” -> “环境变量”。
    • 在“系统变量”中,新建 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安装教程,步骤复杂吗?-图2
(图片来源网络,侵删)

下载 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

Elasticsearch安装教程,步骤复杂吗?-图3
(图片来源网络,侵删)
# 如果使用 ZIP/TAR 包
cd ~/elasticsearch/config
vim elasticsearch.yml

关键配置项

  1. 集群名称:默认是 elasticsearch,在一个网络中,确保集群名称唯一。
    cluster.name: my-application-cluster
  2. 节点名称:每个节点的唯一标识。
    node.name: node-1
  3. 网络地址:允许哪些 IP 访问。生产环境务必配置!
    # 只允许本机访问
    network.host: 127.0.0.1
    # 或者允许局域网内所有机器访问 (生产环境需更严格的控制)
    # network.host: 0.0.0.0
  4. HTTP 端口:默认为 9200
    http.port: 9200
  5. 数据路径:指定数据存储位置。
    path.data: /path/to/data
  6. 日志路径:指定日志存储位置。
    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
分享:
扫描分享到社交APP
上一篇
下一篇