当前位置: 首页 > news >正文

五、Elasticsearch在Linux的安装部署

五、Elasticsearch在Linux的安装部署

文章目录

  • 五、Elasticsearch在Linux的安装部署
    • 1.Elasticsearch的作用
    • 2.安装
      • 0. 安装前准备
      • 1.使用包管理器安装(推荐,自动服务化)
        • Ubuntu / Debian
        • RHEL / CentOS / Rocky / Alma
      • 2. 使用 tar.gz 安装(灵活可控)
      • 3.Docker 安装(最快)
      • 4. 配置文件(重要)
      • 5.验证安装
      • 6.常见问题 & 解决
      • 7.Kibana(可选)
    • 3.快速一次性安装(finalshell中直接复制)

1.Elasticsearch的作用

Elasticsearch 是一个 分布式搜索与分析引擎,底层基于 Lucene。它的核心价值是能在海量数据中进行高效、复杂的搜索与实时分析

主要特点:

  • 全文搜索:支持自然语言全文检索、模糊匹配、短语搜索、高亮等
  • 结构化搜索:对结构化字段(数值、日期、地理位置等)快速过滤与排序
  • 实时分析:能在秒级时间内统计、聚合和可视化数据
  • 分布式:可以水平扩展到多个节点,存储和处理 PB 级数据
  • 多类型数据:支持文本、数字、时间、地理位置、JSON 文档等

2.安装

0. 安装前准备

  • Java 环境:8.x 自带内置 JDK(不需要单独安装)
  • 内存:建议 4GB 以上(默认 JVM 占 1GB)
  • 用户权限:不要用 root 直接运行 ES(会被拒绝),建议创建 elasticsearch 用户
  • 网络端口
    • 9200:HTTP API
    • 9300:集群节点间通信
  • 文件描述符:至少 65535,否则可能报错

1.使用包管理器安装(推荐,自动服务化)

Ubuntu / Debian
# 1. 导入签名
sudo apt update
sudo apt -y install apt-transport-https curl gnupg
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg# 2. 添加仓库
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-8.x.list# 3. 安装
sudo apt update
sudo apt install -y elasticsearch# 4. 开机自启 + 启动
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

RHEL / CentOS / Rocky / Alma
# 1. 导入签名
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch# 2. 添加 yum 仓库
sudo tee /etc/yum.repos.d/elasticsearch.repo >/dev/null <<'EOF'
[elasticsearch-8.x]
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# 3. 安装
sudo dnf install -y elasticsearch || sudo yum install -y elasticsearch# 4. 开机自启 + 启动
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch

2. 使用 tar.gz 安装(灵活可控)

# 1. 下载(以 8.14.1 为例)
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.14.1-linux-x86_64.tar.gz# 2. 解压
tar -xzf elasticsearch-8.14.1-linux-x86_64.tar.gz
mv elasticsearch-8.14.1 /opt/elasticsearch# 3. 创建运行用户
sudo useradd -r -s /bin/false elasticsearch
sudo chown -R elasticsearch:elasticsearch /opt/elasticsearch# 4. 切换用户运行
sudo -u elasticsearch /opt/elasticsearch/bin/elasticsearch

首次运行会在控制台输出:

  • 生成的 elastic 用户密码
  • CA 证书
  • HTTP 证书位置

3.Docker 安装(最快)

docker network create elastic
docker run -d --name es01 --net elastic \-p 9200:9200 -p 9300:9300 \-e ELASTIC_PASSWORD=StrongPass123 \docker.elastic.co/elasticsearch/elasticsearch:8.14.1

访问 http://localhost:9200,使用 elastic / StrongPass123 登录。


4. 配置文件(重要)

配置文件位置:

  • 包管理器安装:/etc/elasticsearch/elasticsearch.yml
  • tar 包安装:config/elasticsearch.yml

常用配置:

cluster.name: my-cluster
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200# 生产环境必须至少两个节点才能关闭 bootstrap 检查
discovery.type: single-node

修改后重启:

sudo systemctl restart elasticsearch

5.验证安装

curl -k -u elastic:<密码> https://localhost:9200

输出中应包含:

{"name" : "node-1","cluster_name" : "my-cluster","cluster_uuid" : "...","version" : {"number" : "8.14.1",...},"tagline" : "You Know, for Search"
}

6.常见问题 & 解决

  1. max virtual memory areas vm.max_map_count [65530] is too low
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

2.root 用户运行报错

  • 切换到非 root 用户:sudo -u elasticsearch ...
  1. 无法远程访问
  • network.host: 0.0.0.0
  • 开放 9200 端口:
sudo ufw allow 9200/tcp   # Ubuntu
sudo firewall-cmd --permanent --add-port=9200/tcp && sudo firewall-cmd --reload  # RHEL
  1. 忘记密码
sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

7.Kibana(可选)

Elasticsearch 可配套 Kibana 使用:

# Ubuntu
sudo apt install -y kibana
sudo systemctl enable kibana
sudo systemctl start kibana# RHEL
sudo dnf install -y kibana || sudo yum install -y kibana
sudo systemctl enable kibana
sudo systemctl start kibana

访问 http://<服务器IP>:5601

3.快速一次性安装(finalshell中直接复制)

1. 导入 GPG 公钥sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch2. 添加 Elasticsearch 官方 YUM 仓库sudo tee /etc/yum.repos.d/elasticsearch.repo >/dev/null <<'EOF'
[elasticsearch-8.x]
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
EOF3. 安装 Elasticsearchsudo yum install -y elasticsearch4. 修改配置文件(允许远程访问)sudo sed -i '/^#\?network.host/d' /etc/elasticsearch/elasticsearch.yml
sudo tee -a /etc/elasticsearch/elasticsearch.yml >/dev/null <<'EOF'
cluster.name: my-es-cluster
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
EOF5. 系统参数优化(必须,不然会报错)echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p6. 启动并设置开机自启sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch7. 防火墙放行 9200 端口(如果开启了防火墙)sudo firewall-cmd --permanent --add-port=9200/tcp
sudo firewall-cmd --reload8. 等待启动(第一次可能 30 秒以上),查看状态sudo systemctl status elasticsearch
http://www.dtcms.com/a/327052.html

相关文章:

  • 【unity实战】使用Splines+DOTween制作弯曲手牌和抽牌动画效果
  • 计算机网络2-2:物理层下面的传输媒体
  • -bash: ll: 未找到命令
  • 一,设计模式-单例模式
  • 在IDEA中设置SQL解析作用域解决无法解析表的问题(详细图解)
  • 《量子雷达》第1章预习2025.8.12
  • C语言(03)——斐波那契数列的理解和运用(超详细版)
  • 实验-vlan实验
  • C#教程之NPOI读写excel文件XLS,XLSX格式
  • QT第五讲-控件QLineEdit、QSpinBox、QSlider、QScrollBar、QDial、QProgressBar、QLCDNumber
  • MySQL 索引:索引为什么使用 B+树?(详解B树、B+树)
  • 【K8s】K8s控制器——复制集和deployment
  • MySql——B树和B+树区别(innoDB引擎为什么把B+树作为默认的数据结构)
  • 请写一下快速排序算法
  • 多路转接之epoll 【接口】【细节问题】【LT与ET模式】【Reactor】
  • 学习日志32 python
  • 1、JVM内存模型剖析及优化
  • Rocky Linux 10 部署 Kafka 集群
  • 全国产飞腾d2000+复旦微690t信号处理模块
  • 微软发布GPT-5赋能的Copilot:重构办公场景的智能革命
  • 数字孪生重构园区管理效率:技术落地与产业升级的三重跃迁
  • 亚马逊优惠券视觉体系重构:颜色标签驱动的消费决策效率革命
  • Nginx 启用 HTTPS:阿里云免费 SSL 证书详细图文教程(新手0.5小时可完成)
  • 从基础编辑器到智能中枢:OpenStation 为 VSCode 注入大模型动力
  • 正向传播与反向传播(神经网络思维的逻辑回归)
  • 【R语言数据分析开发指南】
  • 读《精益数据分析》:UGC平台的数据指标梳理
  • 【跨服务器的数据自动化下载--安装公钥,免密下载】
  • TinyVue表格重构性能优化详解
  • STL容器的使用时机