Linux下安裝elasticsearch(Elasticsearch 7.17.23)

???????Elasticsearch 是一個分布式的搜索和分析引擎,能夠以近乎實時的速度存儲、搜索和分析大量數據。它被廣泛應用于日志分析、全文搜索、應用程序監控等場景。

本文將帶你一步步在 Linux 系統上安裝 Elasticsearch 7.17.23 版本,并完成基本的配置,為后續的使用打下基礎。

你將學到:

  • 如何在 Linux 系統上下載和安裝 Elasticsearch 7.17.23

  • 如何配置 Elasticsearch 的基本參數

  • 如何啟動和停止 Elasticsearch 服務

  • 如何驗證 Elasticsearch 是否安裝成功

準備工作:

  • 一臺運行 Linux 系統的服務器

  • 確保服務器上已經安裝了 Java 8 或更高版本

  • 以 root 用戶或具有 sudo 權限的用戶身份登錄

接下來,我們將按照以下步驟進行安裝:

  1. 下載 Elasticsearch 7.17.23 安裝包

  2. 解壓安裝包并配置環境變量

  3. 修改 Elasticsearch 配置文件

  4. 啟動 Elasticsearch 服務

  5. 驗證 Elasticsearch 是否安裝成功

1.?下載 Elasticsearch 7.17.23 安裝包

Elasticsearch 7.17.23 | Elastic

直接在官方下載對應安裝包。

2.?解壓安裝包并配置環境變量

把安裝包上傳到服務器后,拷貝到/usr/local目錄下,執行解壓命令:

tar -xzf elasticsearch-7.3.2-linux-x86_64.tar.gz

由于ES不允許用root賬號啟動,這里需要創建用戶,例如:elastic

創建過程如下:

sudo useradd -m -d /home/elastic -s /bin/bash elastic
sudo passwd elastic  # 設置密碼
sudo chown -R elastic:elastic /usr/local/elasticsearch-7.17.23

切換elastic賬號

su - elastic

3.修改 Elasticsearch 配置文件

進入Elasticsearch目錄:

cd /usr/local/elasticsearch/config

例如:

開始修改配置文件elasticsearch.yml:

?

記得自己創建好對應路徑的文件夾分配好權限!!!!

sudo chown -R elastic:elastic /usr/local/elasticsearch/
sudo chmod -R 755 /usr/local/elasticsearch/

?修改配置文件jvm.options:

4.啟動 Elasticsearch 服務

執行以下命令。如果不報錯,則跳轉到第五點看結果。

/usr/local/elasticsearch-7.17.23/bin/elasticsearch -d

5.如何驗證 Elasticsearch 是否安裝成功

一切正常的情況下,配置完成后,運行curl -X GET "localhost:9200",出現如下圖,則表示安裝完成!

但是,肯定不會有正常情況

我們來說一下常見的錯誤:

(1)如果系統配置的是jdk8,啟動會出現jdk版本不匹配等錯誤,如下:

warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME
Future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/java/jdk1.8.0_144/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.
warning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOME
Future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/java/jdk1.8.0_144/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.

解決辦法就是,修改jdk指向路徑,默認使用es自帶的JDK,找到文件

?/usr/local/elasticsearch-7.17.23/bin下的:elasticsearch-env編輯,

vim?elasticsearch-env

注釋掉一部分配置,如下圖:?

這樣就解決jdk問題了。這個是常見問題。。另外還有幾個不常見的:

(1)?兩項系統限制值過低,需要調整 max file descriptorsvm.max_map_count

錯誤信息如下:

ERROR: [2] bootstrap checks failed. You must address the points described in the following [2] lines before starting Elasticsearch.
bootstrap check failure [1] of [2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /usr/local/elasticsearch/logs/my-cluster.log

直接切換root賬號調整:

sudo vi /etc/security/limits.conf

在文件末尾添加以下兩行:

elastic soft nofile 65535
elastic hard nofile 65535

退出保存!解決

(2)vm.max_map_count 的值太低,錯誤信息如下:

ERROR: [1] bootstrap checks failed. You must address the points described in the following [1] lines before starting Elasticsearch.
bootstrap check failure [1] of [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
ERROR: Elasticsearch did not exit normally - check the logs at /usr/local/elasticsearch/logs/my-cluster.log

切換root,編輯sysctl.conf

 vi /etc/sysctl.conf

添加:vm.max_map_count=262144

保存退出!解決!!

最后,我們得給es配置個密碼吧,有密碼才像那么一回事!

設置密碼方式有三種,我們選擇最穩妥的通過 elasticsearch-setup-passwords 工具設置密碼

修改配置文件

sudo vi /usr/local/elasticsearch-7.17.23/config/elasticsearch.yml

新增一下內容:

http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

如圖:?

?運行命令:

/usr/local/elasticsearch-7.17.23/bin/elasticsearch-setup-passwords interactive

提示是否設置密碼。如圖:?

會讓設置很多賬號的密碼:

依次輸入密碼。建議同一個密碼!

修改完成后,重啟es服務!大功告成。。?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/71745.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/71745.shtml
英文地址,請注明出處:http://en.pswp.cn/web/71745.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

NVIDIA顯卡驅動、CUDA、cuDNN 和 TensorRT 版本匹配指南

一、驅動安裝 1、下載驅動 前往NVIDIA驅動下載頁,輸入顯卡型號和操作系統類型,選擇≥目標CUDA版本要求的驅動版本?。 2、安裝驅動? ?Windows?:雙擊安裝包按向導操作。?Linux?:建議使用apt或官方.run文件安裝?。 3、驗證…

plt和cv2有不同的圖像表示方式和顏色通道順序

在處理圖像時,matplotlib.pyplot (簡稱 plt) 和 OpenCV (簡稱 cv2) 有不同的圖像表示方式和顏色通道順序。了解這些區別對于正確處理和顯示圖像非常重要。 1. 圖像形狀和顏色通道順序 matplotlib.pyplot (plt) 形狀:plt 通常使用 (height, width, cha…

基于PyTorch的深度學習5——神經網絡工具箱

可以學習如下內容: ? 介紹神經網絡核心組件。 ? 如何構建一個神經網絡。 ? 詳細介紹如何構建一個神經網絡。 ? 如何使用nn模塊中Module及functional。 ? 如何選擇優化器。 ? 動態修改學習率參數。 5.1 核心組件 神經網絡核心組件不多,把這些…

模擬調制技術詳解

內容摘要 本文系統講解模擬調制技術原理及Matlab實現,涵蓋幅度調制的四種主要類型:雙邊帶抑制載波調幅(DSB-SC)、含離散大載波調幅(AM)、單邊帶調幅(SSB)和殘留邊帶調幅(…

aws(學習筆記第三十一課) aws cdk深入學習(batch-arm64-instance-type)

aws(學習筆記第三十一課) aws cdk深入學習 學習內容: 深入練習aws cdk下部署batch-arm64-instance-type 1. 深入練習aws cdk下部署batch-arm64-instance-type 代碼鏈接 代碼鏈接 代碼鏈接 -> batch-arm64-instance-type之前代碼學習 之前學習代碼鏈接 -> aw…

讀書報告」網絡安全防御實戰--藍軍武器庫

一眨眼,20天過去了,刷完了這本書「網絡安全防御實戰--藍軍武器庫」,回味無窮,整理概覽如下,可共同交流讀書心得。在閱讀本書的過程中,我深刻感受到網絡安全防御是一個綜合性、復雜性極高的領域。藍軍需要掌…

生成任務,大模型

一個生成項目 輸入:文字描述(但是給的數據集是一串數字,id,ct描述,醫生描述) 輸出:診斷報告 一、數據處理 import pandas as pd #處理表格數據pre_train_file "data/train.csv"tr…

Spring Boot API 項目中 HAProxy 與 Nginx 的選擇與實踐

在開發 Spring Boot 構建的 RESTful API 項目時,負載均衡和反向代理是提升性能與可用性的關鍵環節。HAProxy 和 Nginx 作為兩種流行的工具,經常被用于流量分發,但它們各有側重。究竟哪一個更適合你的 Spring Boot API 項目?本文將…

Java常用集合與映射的線程安全問題深度解析

Java常用集合與映射的線程安全問題深度解析 一、線程安全基礎認知 在并發編程環境下,當多個線程同時操作同一集合對象時,若未采取同步措施,可能導致以下典型問題: 數據競爭:多個線程同時修改數據導致結果不可預測狀…

DeepLabv3+改進6:在主干網絡中添加SegNext_Attention|助力漲點

??【DeepLabv3+改進專欄!探索語義分割新高度】 ?? 你是否在為圖像分割的精度與效率發愁? ?? 本專欄重磅推出: ? 獨家改進策略:融合注意力機制、輕量化設計與多尺度優化 ? 即插即用模塊:ASPP+升級、解碼器 PS:訂閱專欄提供完整代碼 目錄 論文簡介 步驟一 步驟二…

使用 Elastic-Agent 或 Beats 將 Journald 中的 syslog 和 auth 日志導入 Elastic Stack

作者:來自 Elastic TiagoQueiroz 我們在 Elastic 一直努力將更多 Linux 發行版添加到我們的支持矩陣中,現在 Elastic-Agent 和 Beats 已正式支持 Debian 12! 本文演示了我們正在開發的功能,以支持使用 Journald 存儲系統和身份驗…

3.9[A]csd

在傳統CPU中心架構中,中央處理器通過內存訪問外部存儲器,而數據必須經過網絡接口卡才能到達外部存儲器。這種架構存在集中式計算、DRAM帶寬和容量挑戰、大量數據移動(服務器內和網絡)以及固定計算導致工作負載容量增長等問題。 而…

ESP32S3讀取數字麥克風INMP441的音頻數據

ESP32S3 與 INMP441 麥克風模塊的集成通常涉及使用 I2S 接口進行數字音頻數據的傳輸。INMP441 是一款高性能的數字麥克風,它通過 I2S 接口輸出音頻數據。在 Arduino 環境中,ESP32S3 的開發通常使用 ESP-IDF(Espressif IoT Development Framew…

DeepSeek大模型 —— 全維度技術解析

DeepSeek大模型 —— 全維度技術解析 前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,可以分享一下給大家。點擊跳轉到網站。 https://www.captainbed.cn/ccc 文章目錄 DeepSeek大模型 —— 全維度技術解析一、模型架構全景解析1…

[Kubernetes] 7控制平面組件

1. 調度 kube- scheduler what 負責分配調度pod到集群節點監聽kube-apiserver,查詢未分配node的pod根據調度策略分配這些pod(更新pod的nodename)需要考慮的因素: 公平調度,資源有效利用,QoS,affinity, an…

PyTorch系列教程:編寫高效模型訓練流程

當使用PyTorch開發機器學習模型時,建立一個有效的訓練循環是至關重要的。這個過程包括組織和執行對數據、參數和計算資源的操作序列。讓我們深入了解關鍵組件,并演示如何構建一個精細的訓練循環流程,有效地處理數據處理,向前和向后…

LeetCode Hot100刷題——反轉鏈表(迭代+遞歸)

206.反轉鏈表 給你單鏈表的頭節點 head ,請你反轉鏈表,并返回反轉后的鏈表。 示例 1: 輸入:head [1,2,3,4,5] 輸出:[5,4,3,2,1]示例 2: 輸入:head [1,2] 輸出:[2,1]示例 3&#…

機器學習的發展史

機器學習(Machine Learning, ML)作為人工智能(AI)的一個分支,其發展經歷了多個階段。以下是機器學習的發展史概述: 1. 早期探索(20世紀50年代 - 70年代) 1950年:艾倫圖…

Springboot redis bitMap實現用戶簽到以及統計,保姆級教程

項目架構,這是作為demo展示使用: Redis config: package com.zy.config;import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.databind.Ob…

Ardupilot開源無人機之Geek SDK進展2025Q1

Ardupilot開源無人機之Geek SDK進展2025Q1 1. 源由2. 內容匯總2.1 【jetson-fpv】YOLO INT8 coco8 dataset 精度降級2.2 【OpenIPC-Configurator】OpenIPC Configurator 固件升級失敗2.3 【OpenIPC-Adaptive-link】OpenIPC RF信號質量相關顯示2.4 【OpenIPC-msposd】.srt/.osd…