五、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.pswp.cn/news/918792.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/918792.shtml
英文地址,请注明出处:http://en.pswp.cn/news/918792.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kubernetes集群部署全攻略

目录 一、 服务器环境及初始化 1、架构分析 2、初始化 2.1、清空Iptales默认规则及关闭防火墙 2.2、关闭SELINUX 2.3、关闭Swap交换空间 2.4、设置主机名 2.5、编写hosts文件 2.6、设置内核参数 二、安装Docker环境 1、安装Docker 1.1、配置阿里源 1.2、安装docke…

Ceph存储池详解

Ceph 存储池&#xff08;Pool&#xff09;详解 Ceph 的 存储池&#xff08;Pool&#xff09; 是逻辑存储单元&#xff0c;用于管理数据的分布、冗余和访问策略。它是 Ceph 存储集群的核心抽象&#xff0c;支持 对象存储&#xff08;RGW&#xff09;、块存储&#xff08;RBD&…

使用 Docker 部署 PostgreSQL

通过 Docker 部署 PostgreSQL 是一种快速、高效的方式&#xff0c;适用于开发和测试环境。 步骤 1&#xff1a;拉取 PostgreSQL 镜像 运行以下命令从 Docker Hub 拉取最新的 PostgreSQL 镜像&#xff1a; docker pull postgres 如果需要其他的镜像&#xff0c;可以指定版本…

P1886 滑动窗口 /【模板】单调队列【题解】

P1886 滑动窗口 /【模板】单调队列 题目描述 有一个长为 nnn 的序列 aaa&#xff0c;以及一个大小为 kkk 的窗口。现在这个窗口从左边开始向右滑动&#xff0c;每次滑动一个单位&#xff0c;求出每次滑动后窗口中的最小值和最大值。 例如&#xff0c;对于序列 [1,3,−1,−3,5,3…

河南萌新联赛2025第(五)场:信息工程大学补题

文章目录[TOC](文章目录)前言A.宇宙终极能量调和与多维时空稳定性验证下的基础算术可行性研究B.中位数C.中位数1F.中位数4G.简单题H.简单题I.Re:从零开始的近世代数复习&#xff08;easy&#xff09;K.狂飙追击L.防k题前言 这次萌新联赛考到了很多数学知识 A.宇宙终极能量调和…

SuperMap GIS基础产品FAQ集锦(20250804)

一、SuperMap iServer 问题1&#xff1a;iServer的名称和logo怎么自定义&#xff1f; 11.3.0 【解决办法】参考&#xff1a;https://blog.csdn.net/supermapsupport/article/details/144744640 问题2&#xff1a;iServer 刷新工作空间&#xff0c;当数据库是 PostGIS 时&#x…

AWS CloudFormation批量删除指南:清理Clickstream Analytics堆栈

概述 在AWS环境管理中,经常会遇到需要批量删除CloudFormation堆栈的情况。本文记录了一次完整的Clickstream Analytics堆栈清理过程,包括遇到的问题和解决方案,希望能为其他开发者提供参考。 背景 我们的AWS账户中部署了多个Clickstream Analytics解决方案的CloudFormati…

redis中分布式锁的应用

我们之前讲了秒杀模块的实现&#xff0c;使用了sychronized互斥锁&#xff0c;但是在集群模式下因为不同服务器有不同jvm&#xff0c;所以synchronized互斥锁失效了。 redis实现秒杀超卖问题的解决方案&#xff1a;(仅限于单体项目)-CSDN博客 这时就要找到一个多台服务器都能…

【科研绘图系列】R语言绘制微生物丰度和基因表达值的相关性网络图

文章目录 介绍 加载R包 数据下载 导入数据 数据预处理 画图 系统信息 参考 介绍 【科研绘图系列】R语言绘制微生物丰度和基因表达值的相关性网络图 加载R包 library(tidyverse) library(ggsignif) library(RColorBrewer) library(dplyr) library(reshape2) library(grid

Pycharm现有conda环境有对应env,但是添加后没反应

一、系统环境 二、异常现象 Pycharm现有conda环境有对应env&#xff1a; anaconda3的envs下也确实存在这个环境&#xff1a; 但是添加后没反应&#xff08;点击确认后&#xff0c;yolov7环境没有出现在列表中&#xff09;&#xff1a; 但是我之前在别的机子添加是没问题的。 …

Git常用指令大全:从入门到精通

Git 的常用指令&#xff0c;分为基础操作、分支管理、远程协作、撤销操作和高级功能五个部分&#xff0c;并附上实用示例&#xff1a;一、基础操作&#xff08;必会&#xff09;初始化仓库 git init # 在当前目录创建新仓库克隆远程仓库 git clone https://github.com/user/rep…

Redis (REmote DIctionary Server) 高性能数据库

Redis {REmote DIctionary Server} 高性能数据库1. What is Redis?1.1. 基于内存的数据存储2. Install Redis on Linux3. Starting and stopping Redis in the background3.1. systemctl3.2. service 4. Connect to Redis5. 退出 Redis 的命令行界面 (redis-cli)6. redis-serv…

MySQL中的DML(二)

DML(Data Manipulation Language) : 数据库操作语言&#xff0c;对数据库中表的数据进行增删改操作。 创建student表&#xff1a; CREATE DATABASE test; use test; CREATE TABLE student (id int,name varchar(255),address varchar(255),city varchar(255) );INSERT INTO stu…

linux 主机驱动(SPI)与外设驱动分离的设计思想

一、 主机驱动与外设驱动分离Linux中的SPI、I2c、USB等子系统都利用了典型的把主机驱动和外设驱动分离的想法&#xff0c;让主机端负责产生总线上的传输波形&#xff0c;而外设端只是通过标准的API来让主机端以适当的波形访问自身。因此这里涉及了4个软件模块&#xff1…

如何生成.patch?

文章目录 ​​方法 1:使用 `git format-patch`(推荐)​ ​​步骤​​ ​方法 2:使用 `diff`命令(适用于非 Git 项目)​ ​​方法 3:使用 `git diff`(生成未提交的变更)​ ​方法 4:使用 `quilt`(适用于大量补丁管理) ​如何提交补丁给上游项目?​ ​总结​​ 在 L…

【计算机网络 | 第6篇】计算机体系结构与参考模型

文章目录计算机体系结构与参考模型分层思想&#x1f342;常见的3种模型&#xff08;网络体系结构&#xff09;&#x1f426;‍&#x1f525;TCP/IP体系结构各层包含的主要协议&#x1f95d;每层所解决的主要问题&#x1f914;层次间的交互规则&#x1f95d;实体与对等实体协议服…

Autoware Universe 感知模块详解 | 第一节 感性认识多源传感器标定

传感器与感知模块 在基于规则的自动驾驶系统中&#xff0c;感知模块&#xff0c;承担着理解车体周围环境信息的重要职责。它通过融合多种传感器数据&#xff0c;与定位模块共同为规划与控制模块提供准确、系统化的输入信息。正如人可以通过眼睛观察周围的环境&#xff08;盲人也…

docker搭建java运行环境(java或者springboot)

目录1. 创建测试代码2. 编译打包3. 代码环境运行使用普通运行方式使用docker挂载项目&#xff08;长期运行&#xff09;1. 创建 Dockerfile2. 构建并后台运行使用docker swram实现零停机更新&#xff08;推荐&#xff09;1. 初始化swarm2. 创建 Dockerfile3. 使用Dockerfile 构…

哈希表特性与unordered_map/unordered_set实现分析

目录 一、哈希表核心特性总结 1.开放地址法 2.链地址法 二、unordered_map/unordered_set实现要点分析 1. 哈希表核心实现(HashTable2.h) (1) 哈希函数处理 (2) 链地址法实现 (3) 迭代器设计 (4) hashtable设计 2. unordered_map实现要点 3. unordered_map实现要点 一…

生产环境sudo配置详细指南

目录 1. 语法格式 2. 配置示例 3. 使用 /etc/sudoers.d/ 目录管理&#xff08;推荐&#xff09; 4. 基础配置&#xff1a;用户权限管理 4.1 ​​添加用户到sudo组 ​​4.2 验证用户组信息 5. sudo日志配置 5.1 修改sudoers配置文件 5.2 创建日志目录与权限设置 6. Su…