【Elasticsearch】Linux環境下安裝Elasticsearch

一,前言

Elasticsearch(簡稱 ES)是一個基于 ??Apache Lucene?? 構建的開源分布式搜索與分析引擎。它支持??實時數據處理??,提供近實時的全文搜索能力,并通過 ??JSON 格式的 RESTful API?? 實現數據索引與檢索。其分布式架構設計可水平擴展至數百節點,適用于??日志分析、全文檢索、大數據實時查詢??等場景,是 Elastic Stack(ELK)生態的核心組件。

二,環境準備

  • 操作系統:Centos7
  • Java 版本:java 1.8
  • Elasticsearch 版本:7.10.2

注意:如果Elasticsearch為8.x的版本,需要jdk17及以上版本

三,優化服務器參數

Elasticsearch對服務器的一些參數有限制,需要調節參數適配es

1,修改limits.conf文件

vim /etc/security/limits.conf# 在文件底部添加如下配置
* soft nofile 65536 
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

2,調整vm.max_map_count參數

執行如下命令

# 設置參數值至少為 262144
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p# 查看參數值
sysctl vm.max_map_count
# 預期輸出:vm.max_map_count = 262144

四,安裝Elasticsearch

1,創建es安裝目錄

mkdir -p /elk/elastic
cd /elk/elastic

2,下載Elasticsearch安裝包并解壓

方式1:本地下載再上傳服務器

下載地址:Elasticsearch 7.10.2 | Elastic

方式2:使用wget命令下載

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-linux-x86_64.tar.gz

解壓安裝包

tar -zxvf elasticsearch-7.10.2-linux-x86_64.tar.gz 

3,修改jvm內存

Elasticsearch7.X版本默認的堆內存大小是1G,8.X版本默認的堆內存大小是4G,如果服務器內存不夠啟動會報錯,可以將堆內存設置小一點

vim /efk/elastic/elasticsearch-7.10.2/config/jvm.options# 根據服務器的內存來設置,如果服務器內存小可以將值調小一點
-Xms512m
-Xmx521m

4,創建es的用戶

// 創建用戶組
groupadd esgroup// 在esgroup用戶組下創建es用戶
useradd es -g esgroup// 賦權限
chown -R es:esgroup /efk/elastic/elasticsearch-7.10.2

5,修改es配置文件

vim /efk/elastic/elasticsearch-7.10.2/config/elasticsearch.yml內容如下:
# 集群名稱
cluster.name: my-es-cluster
# 節點名稱
node.name: node-1
# 運行遠程訪問
network.host: 0.0.0.0
http.port: 9200
# 單節點模式
discovery.type: single-node  # 跨域配置
http.cors.enabled: true  
http.cors.allow-origin: "*"
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: X-Requested-With, Content-Type, Content-Length

6,啟動es

注意:如果安裝的es版本為8.x,es會默認開啟安全安全配置,第一次啟動es時會自動生成如下的配置代碼,如果需要訪問es可以關閉安全認證后再訪問

xpack.security.enabled: true? #? true表示開啟安全認證,開啟時訪問es需要數據賬號密碼xpack.security.enrollment.enabled: true
xpack.security.http.ssl:enabled: false # 是否啟用https,默認啟用,手動關閉,如果為true,服務es需要使用 httpskeystore.path: certs/elastic-certificates.p12truststore.path: certs/elastic-certificates.p12
xpack.security.transport.ssl:enabled: trueverification_mode: certificatekeystore.path: certs/elastic-certificates.p12truststore.path: certs/elastic-certificates.p12
后臺啟動es
sudo -u es bin/elasticsearch -d

瀏覽器訪問ip+端口(9200)結果如下表示安裝成功

7,將es配置到systemd中

創建 elasticsearch.service 文件

// 創建service文件
vim /etc/systemd/system/elasticsearch.service內容如下:
[Unit]
Description=Elasticsearch Service
After=network.target[Service]
Type=simple
User=es         # es用戶
Group=esgroup   # es用戶組
LimitNOFILE=100000
LimitNPROC=100000
ExecStart=/efk/elastic/elasticsearch-8.17.0/bin/elasticsearch  # es安裝路徑
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
PrivateTmp=true[Install]
WantedBy=multi-user.target

刷新配置

systemctl daemon-reload

基礎命令?

systemctl status elasticsearch.service   # 查看狀態
systemctl start elasticsearch.service    # 啟動
systemctl stop elasticsearch.service     # 關閉
systemctl restart elasticsearch.service  # 重啟

8,開啟安全認證

開啟認證前需要先刪除 /data 和 /logs 下的所有數據

[root@ali-kafka-vm1 elasticsearch-7.10.2]# rm -rf ./data/*
[root@ali-kafka-vm1 elasticsearch-7.10.2]# rm -rf ./logs/*

1,編輯es配置文件

vim /efk/elastic/elasticsearch-7.10.2/config/elasticsearch.yml添加如下配置
xpack.security.enabled: true

2,重啟es

systemctl restart elasticsearch.service  

3,設置用戶密碼

Elasticsearch7.x版本設置密碼

該命令會為所有內置用戶設置密碼,不能跳過

./bin/elasticsearch-setup-passwords interactive

Elasticsearch8.x版本設置密碼

8.x版本可以指定設置內置用戶 elastic 的密碼

bin/elasticsearch-reset-password --username elastic -i

4,設置密碼后訪問es需要輸入賬號密碼

至此安裝成功!

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

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

相關文章

【數據結構--樹于哨兵查找-1】

查找 從前到后- 線性查找 -就是順序查找. 哨兵法查找–節省每次都要判斷是否越界的這一步驟利于節省開銷&#xff0c;從而提升效率。 參考我的程序 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <stdbool.h>#define SIZE …

MyBatis修改(update)操作

1. 三步法口訣 “接口收對象&#xff0c;SQL全賦值&#xff0c;主鍵定目標” 2. 詳細記憶點 | 步驟 | 口訣 | 說明與示例 | |--------------|----------------|----------------------------------------------------------------------------| | 1. 寫接口 | “接口收對象…

Spring Boot 入門學習

一、 Web應用開發概述 什么是Web應用 1. Web應用 &#xff08;Web Application&#xff09;是一種運行在Web服務器上的軟件程序&#xff0c;由用戶通過Web瀏覽器進行訪問和交互。 2.Web應用與傳統的桌面應用不同&#xff0c;它不需要在個人計算機上安裝特定的軟件&#xff0…

深度解讀概率與證據權重 -Probability and the Weighing of Evidence

以下是I.J.古德&#xff08;I.J. Good&#xff09;的經典著作 《概率與證據權衡》&#xff08;Probability and the Weighing of Evidence, 1950&#xff09; 的中文詳細總結&#xff1a; 本文由「大千AI助手」原創發布&#xff0c;專注用真話講AI&#xff0c;回歸技術本質。拒…

跟著AI學習C#之項目實戰-電商平臺 Day6

&#x1f4c5; Day 6&#xff1a;后臺管理系統開發&#xff08;Admin Panel&#xff09; ? 今日目標&#xff1a; 創建管理員頁面布局實現商品管理&#xff08;CRUD&#xff09;實現訂單管理&#xff08;查看、狀態變更&#xff09;添加權限控制&#xff08;僅管理員可訪問&…

使用OpcUaHelper在C# WinForms中連接OPC UA服務器并讀取數據

使用OpcUaHelper在C# WinForms中連接OPC UA服務器并讀取數據 下面是一個完整的示例&#xff0c;展示如何使用OpcUaHelper庫在C# WinForms應用程序中連接OPC UA服務器并讀取數據。 1. 準備工作 首先&#xff0c;確保你已經安裝了OpcUaHelper NuGet包。可以通過NuGet包管理器控…

鴻蒙應用開發中的數據存儲:SQLite與Preferences全面解析

在鴻蒙&#xff08;HarmonyOS&#xff09;應用開發中&#xff0c;數據存儲是構建功能完整、用戶體驗良好的應用程序的關鍵環節。鴻蒙系統提供了多種數據存儲解決方案&#xff0c;其中SQLite數據庫和Preferences&#xff08;偏好設置&#xff09;是最常用的兩種方式。本文將深入…

夏至之日,共赴實時 AI 之約:RTE Open Day@AGI Playground 2025 回顧

每年 RTE 開發者社區的重磅活動—— RTE Open Day &#xff0c;也在六月的 AGI Playground 現場開啟今年的行程。這是 RTE Open Day 第五期現場&#xff0c;這期我們的關鍵詞是 「Real-Time AI」 和 「Voice Agent」&#xff0c;不僅有來自社區的 16 個項目&#xff0c;還有兩場…

Tomcat性能調優指南

文章目錄 一、Tomcat性能調優概述為什么需要調優Tomcat&#xff1f; 二、Tomcat架構與性能關鍵點三、JVM調優1. 內存配置優化2. 垃圾回收優化3. 其他JVM優化參數 四、連接器(Connector)調優1. NIO vs APR/Native2. 高級NIO配置 五、線程池優化六、會話管理優化1. 會話超時配置2…

Swift 小技巧:用單邊區間優雅處理模糊范圍

進入正題之前先科普一下 Swift 區間的知識。 Swift 中的區間有兩種類型&#xff1a;閉區間和半開區間。 閉區間&#xff1a;用 a...b 表示&#xff0c;包含 a 和 b。半開區間&#xff1a;用 a..<b 表示&#xff0c;包含 a 但不包含 b。 舉個例子 想判斷一個數字是否在 0 …

Tang Prime 20K板OV2640例程

準備用Tang Prime 20K開發板進行OV2640攝像頭采集驗證。 Tang Primer 20K是由開源硬件廠商SiPEED矽速科技推出&#xff0c;是一款以 GW2A-LV18PG256C8/I7 為主芯片的核心板&#xff0c;準備了 2 個擴展板&#xff0c;Dock 和 Lite。板卡包含有HDMI輸出&#xff0c;DVP接口&…

基于Anaconda環境開發IntelliJ IDEA實用JSON轉Java實體插件

在軟件開發中&#xff0c;將JSON數據轉換為Java實體類是常見需求。借助Anaconda環境強大的包管理能力與IntelliJ IDEA的插件開發體系&#xff0c;我們可以打造一款高效實用的JSON轉Java實體插件&#xff0c;顯著提升開發效率。下面將從需求分析、技術選型、開發實現到優化部署&…

idea運行到遠程機器 和 idea遠程JVM調試

一、idea運行到遠程機器 適用場景&#xff0c;本地連接不上遠程機器的部分組件&#xff0c;如&#xff1a;redis、數據庫。 缺點&#xff1a;每次修改程序&#xff0c;會復制所有的 依賴和class 啟動比較慢。 工作原理&#xff1a;遠程機器和本機器&#xff0c;都會啟動一個端口…

微信小程序接入騰訊云短信驗證碼流程

以下是針對 AA公司微信小程序接入騰訊云短信驗證碼 的 全流程操作指南&#xff0c;包含資質申請、簽名/模板配置、代碼對接的完整解決方案&#xff1a; 一、資質申請&#xff08;必須通過審核才能發短信&#xff09; 1?? 進入資質管理頁 路徑&#xff1a;騰訊云控制臺 → 短…

阿里云OSS文件上傳完整實現方案

一、前言 阿里云對象存儲服務(OSS)是一種海量、安全、低成本、高可靠的云存儲服務。本文將詳細介紹如何在Spring Boot項目中集成阿里云OSS實現文件上傳功能。 二、準備工作 1. 獲取OSS配置信息 在開始前&#xff0c;您需要準備以下OSS配置信息&#xff1a; endpoint: OSS服…

【軟考--軟件設計師】10.2 關系型數據庫

10 模式分解 分解 模式分解:將一個關系模式分解為多個子模式 模式分解就是模式規范化的工具&#xff0c;模式分解使用無損連接和保持函數依賴來衡量模式分解后是否導致原有模式中部分信息丟失。 無損連接 保持函數依賴 11、事務管理 事務的ACID性質: (1)原子性(Atomicit…

python訓練day44 預訓練模型

預訓練模型發展史 預訓練模型的訓練策略 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pyplot as plt# 設置中文字體支持 plt.rcParams["…

[論文閱讀]MISSRce

論文title: MISSRec: Pre-training and Transferring Multi-modal Interest-aware Sequence Representation for Recommendation

Redis學習筆記——黑馬點評 附近商鋪到UV統計 完結

前言&#xff1a; 今天完結了Redis的所有實戰篇。 學習收獲&#xff1a; GEO數據結構&#xff1a; GEO就是Geolocation的簡寫形式&#xff0c;代表地理坐標。Redis在3.2版本中加入對Geo的支持&#xff0c;存儲、管理和操作地理空間數據的特殊數據結構&#xff0c;它能高效處…

【客戶端排查】mac電腦怎么查看客戶端的實時運行日志

先退出客戶端&#xff1b;打開訪達里的應用程序&#xff1b; 打開【顯示包內容】&#xff1b; 找到MacOS 雙擊里面的終端程序&#xff1b; 雙擊后&#xff0c;客戶端會自動啟動&#xff0c;且可以在終端中查看客戶端的實時日志啦~