首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Ubuntu环境下Elasticsearch 7.x源码安装完全指南(一)

Ubuntu环境下Elasticsearch 7.x源码安装完全指南(一)

作者头像
行者全栈架构师
发布2026-05-21 15:28:16
发布2026-05-21 15:28:16
1270
举报

📝 文章摘要:本文详细介绍在Ubuntu系统下从源码安装配置Elasticsearch 7.17.28的完整过程,涵盖环境准备、依赖安装、源码编译、插件配置、安全设置、性能调优等核心技术环节,通过生产环境最佳实践帮助开发者构建稳定高效的搜索引擎基础设施。

📋 前言与概述

Elasticsearch作为目前最流行的开源搜索引擎,在日志分析、全文检索、数据可视化等领域发挥着重要作用。本文将详细介绍如何在Ubuntu环境下从源码安装Elasticsearch,并进行完整的配置优化。

🎯 Elasticsearch核心特性

技术优势

•🔍 全文检索:基于Lucene的高性能搜索引擎•📊 实时分析:支持实时数据分析和可视化•🔄 水平扩展:支持集群部署和动态扩容•🛡️ 高可用性:自动故障转移和数据冗余•🌐 生态丰富:完善的插件体系和API接口

📚 本文学习目标

学完本文你将掌握:

•Ubuntu环境下Elasticsearch源码编译安装•系统环境配置和依赖管理•中文分词插件IK Analyzer安装配置•安全认证和访问控制设置•性能调优和监控配置•生产环境部署最佳实践


🛠️ 第一章:环境准备与系统配置

1.1 系统环境要求

硬件配置建议

代码语言:javascript
复制
# 生产环境推荐配置
CPU: 4核以上
内存: 8GB以上(JVM堆内存建议4GB)
磁盘: SSD硬盘,至少50GB可用空间
网络: 千兆网络环境

软件环境要求

代码语言:javascript
复制
# Ubuntu版本兼容性
Ubuntu 18.04 LTS (推荐)
Ubuntu 20.04 LTS
Ubuntu 22.04 LTS

# 依赖软件版本
Java: OpenJDK 11 或 Oracle JDK 11
Python: 3.6+ (用于构建工具)
GCC: 7.5+ (用于源码编译)
Maven: 3.6+ (构建工具)

1.2 系统用户创建

创建专用用户

代码语言:javascript
复制
# 创建elasticsearch专用用户
sudo useradd -m -s /bin/bash -c "Elasticsearch Service User" elastic

# 设置用户密码
sudo passwd elastic
# 输入密码: Passw0rd (生产环境请使用强密码)

# 验证用户创建
id elastic
groups elastic

1.3 系统参数优化

内核参数调整

代码语言:javascript
复制
# 编辑系统配置文件
sudo vim /etc/security/limits.conf

添加以下配置:

代码语言:javascript
复制
# Elasticsearch用户资源限制
elastic soft nofile 65536
elastic hard nofile 65536
elastic soft nproc 4096
elastic hard nproc 4096
elastic soft memlock unlimited
elastic hard memlock unlimited
root soft nofile 65536
root hard nofile 65536
代码语言:javascript
复制
# 编辑内核参数
sudo vim /etc/sysctl.conf

添加系统优化参数:

代码语言:javascript
复制
# 虚拟内存设置
vm.max_map_count=262144
vm.swappiness=1

# 网络优化
net.core.somaxconn=65535
net.ipv4.tcp_max_syn_backlog=65535

# 文件系统优化
fs.file-max=2097152
代码语言:javascript
复制
# 应用系统参数
sudo sysctl -p

# 验证参数设置
sysctl vm.max_map_count
ulimit -n

🔧 第二章:依赖环境安装

2.1 Java环境配置

安装OpenJDK 11

代码语言:javascript
复制
# 更新包索引
sudo apt update

# 安装OpenJDK 11
sudo apt install -y openjdk-11-jdk

# 验证Java安装
java -version
javac -version

# 设置JAVA_HOME环境变量
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64' | sudo tee -a /etc/environment
echo 'export PATH=$JAVA_HOME/bin:$PATH' | sudo tee -a /etc/environment

# 加载环境变量
source /etc/environment

2.2 构建工具安装

安装Maven和Git

代码语言:javascript
复制
# 安装Git
sudo apt install -y git

# 安装Maven
sudo apt install -y maven

# 安装编译工具
sudo apt install -y build-essential

# 验证安装
git --version
mvn --version
gcc --version

2.3 Python环境配置

代码语言:javascript
复制
# 安装Python 3
sudo apt install -y python3 python3-pip

# 安装构建依赖
pip3 install setuptools wheel

# 验证Python环境
python3 --version
pip3 --version

📦 第三章:Elasticsearch源码编译安装

3.1 源码下载与校验

下载官方源码包

代码语言:javascript
复制
# 切换到elastic用户
sudo su - elastic

# 创建安装目录
mkdir -p ~/elasticsearch
cd ~/elasticsearch

# 下载Elasticsearch源码包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.28-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.28-linux-x86_64.tar.gz.sha512

# 校验文件完整性
shasum -a 512 -c elasticsearch-7.17.28-linux-x86_64.tar.gz.sha512

# 解压源码包
tar -xzf elasticsearch-7.17.28-linux-x86_64.tar.gz
cd elasticsearch-7.17.28/

3.2 目录结构调整

创建标准目录结构

代码语言:javascript
复制
# 创建必要的目录
mkdir -p config data logs plugins

# 设置目录权限
chmod 755 config data logs plugins
chown -R elastic:elastic .

# 验证目录结构
tree -L 2

3.3 基础配置文件

主配置文件(elasticsearch.yml)

代码语言:javascript
复制
# 创建基础配置文件
vim config/elasticsearch.yml
代码语言:javascript
复制
# ======================== Elasticsearch Configuration =========================
#
# 集群配置
cluster.name: my-elasticsearch-cluster
node.name: node-1

# 网络配置
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300

# 集群发现
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]

# 内存锁定
bootstrap.memory_lock: true

# 路径配置
path.data: /home/elastic/elasticsearch/elasticsearch-7.17.28/data
path.logs: /home/elastic/elasticsearch/elasticsearch-7.17.28/logs

# JVM配置
-Xms4g
-Xmx4g

# 安全配置
xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false

JVM配置文件(jvm.options)

代码语言:javascript
复制
# 编辑JVM配置
vim config/jvm.options
代码语言:javascript
复制
# JVM内存设置
-Xms4g
-Xmx4g

# 垃圾回收器配置
-XX:+UseG1GC
-XX:G1ReservePercent=25
-XX:InitiatingHeapOccupancyPercent=30

# 其他JVM参数
-Djava.io.tmpdir=${ES_TMPDIR}
-Djava.awt.headless=true

经过本文的详细学习,我们已经掌握了在Ubuntu环境下从源码安装配置Elasticsearch的完整流程:

🔑 核心技能回顾

1.环境准备:系统参数优化、用户权限配置、依赖环境搭建2.源码安装:下载校验、编译配置、目录结构调整3.插件配置:IK分词器安装、其他插件集成4.安全加固:访问控制、网络安全、用户认证5.性能调优:JVM优化、索引配置、监控设置6.服务管理:systemd配置、启动验证、故障排查

🚀 生产环境最佳实践

部署建议

•✅ 使用专用用户运行服务•✅ 合理配置JVM内存参数•✅ 启用安全认证功能•✅ 配置监控告警机制•✅ 定期备份重要数据•✅ 建立标准化运维流程

注意事项

•🔧 定期更新安全补丁•📊 监控系统资源使用情况•🔒 及时更新用户密码•📋 做好配置文件版本管理•🎯 根据业务需求调整集群规模

通过系统地学习和实践这些技术,你将能够构建出稳定、高效、安全的企业级Elasticsearch搜索平台,为业务系统提供强大的搜索和分析能力。


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 行者架构谈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 📋 前言与概述
    • 🎯 Elasticsearch核心特性
    • 📚 本文学习目标
  • 🛠️ 第一章:环境准备与系统配置
    • 1.1 系统环境要求
    • 硬件配置建议
    • 软件环境要求
    • 1.2 系统用户创建
    • 创建专用用户
    • 1.3 系统参数优化
    • 内核参数调整
  • 🔧 第二章:依赖环境安装
    • 2.1 Java环境配置
    • 安装OpenJDK 11
    • 2.2 构建工具安装
    • 安装Maven和Git
    • 2.3 Python环境配置
  • 📦 第三章:Elasticsearch源码编译安装
    • 3.1 源码下载与校验
    • 下载官方源码包
    • 3.2 目录结构调整
    • 创建标准目录结构
    • 3.3 基础配置文件
    • 主配置文件(elasticsearch.yml)
    • JVM配置文件(jvm.options)
    • 🔑 核心技能回顾
    • 🚀 生产环境最佳实践
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档