五、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.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…