溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux如何安裝和配置Elasticsearch

發布時間:2022-02-18 11:19:50 來源:億速云 閱讀:267 作者:小新 欄目:開發技術
# Linux如何安裝和配置Elasticsearch

## 目錄
1. [Elasticsearch簡介](#elasticsearch簡介)
2. [系統要求](#系統要求)
3. [安裝前準備](#安裝前準備)
4. [安裝Java環境](#安裝java環境)
5. [下載和安裝Elasticsearch](#下載和安裝elasticsearch)
6. [配置Elasticsearch](#配置elasticsearch)
7. [啟動和停止Elasticsearch](#啟動和停止elasticsearch)
8. [驗證安裝](#驗證安裝)
9. [基本安全配置](#基本安全配置)
10. [常見問題解決](#常見問題解決)
11. [性能優化建議](#性能優化建議)
12. [集群配置](#集群配置)
13. [插件管理](#插件管理)
14. [備份與恢復](#備份與恢復)
15. [總結](#總結)

<a id="elasticsearch簡介"></a>
## 1. Elasticsearch簡介

Elasticsearch是一個開源的分布式搜索和分析引擎,基于Apache Lucene構建。它能夠實現近乎實時的搜索,支持結構化查詢、全文檢索以及復雜的分析功能。廣泛應用于日志分析、企業搜索、應用監控等領域。

主要特點:
- 分布式架構
- RESTful API
- 近實時搜索
- 多租戶支持
- 文檔導向存儲

<a id="系統要求"></a>
## 2. 系統要求

在安裝Elasticsearch前,請確保系統滿足以下要求:

### 硬件要求
- 內存:至少4GB(生產環境建議8GB以上)
- 磁盤空間:SSD硬盤,至少10GB可用空間
- CPU:2核以上

### 軟件要求
- 操作系統:Linux(推薦Ubuntu/CentOS/RHEL)
- Java:OpenJDK或Oracle JDK 11+
- 用戶權限:非root用戶運行(安全考慮)

<a id="安裝前準備"></a>
## 3. 安裝前準備

### 創建專用用戶
```bash
sudo adduser elasticsearch
sudo usermod -aG sudo elasticsearch

系統參數調優

編輯/etc/sysctl.conf

vm.max_map_count=262144
fs.file-max=65536

應用修改:

sudo sysctl -p

4. 安裝Java環境

Elasticsearch需要Java 11或更高版本:

Ubuntu/Debian

sudo apt update
sudo apt install openjdk-11-jdk

CentOS/RHEL

sudo yum install java-11-openjdk-devel

驗證安裝:

java -version

5. 下載和安裝Elasticsearch

方法一:通過包管理器安裝(推薦)

Debian/Ubuntu

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update
sudo apt install elasticsearch

RHEL/CentOS

sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
sudo vi /etc/yum.repos.d/elasticsearch.repo

添加以下內容:

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

然后安裝:

sudo yum install elasticsearch

方法二:手動下載安裝

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.3-linux-x86_64.tar.gz
tar -xzf elasticsearch-7.17.3-linux-x86_64.tar.gz
sudo mv elasticsearch-7.17.3 /usr/share/elasticsearch

6. 配置Elasticsearch

主要配置文件路徑: - /etc/elasticsearch/elasticsearch.yml(主配置) - /etc/elasticsearch/jvm.options(JVM配置)

基本配置示例

# 集群名稱
cluster.name: my-elastic-cluster

# 節點名稱
node.name: node-1

# 數據存儲路徑
path.data: /var/lib/elasticsearch

# 日志存儲路徑
path.logs: /var/log/elasticsearch

# 網絡綁定
network.host: 0.0.0.0

# HTTP端口
http.port: 9200

# 發現設置(單節點)
discovery.type: single-node

JVM配置建議

編輯/etc/elasticsearch/jvm.options

-Xms2g
-Xmx2g

注意:Xmx和Xms應設置為相同值,不超過物理內存的50%

7. 啟動和停止Elasticsearch

systemd管理

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
sudo systemctl status elasticsearch

手動啟動

sudo -u elasticsearch /usr/share/elasticsearch/bin/elasticsearch

停止服務

sudo systemctl stop elasticsearch

8. 驗證安裝

檢查服務狀態:

curl -X GET "localhost:9200/"

成功響應示例:

{
  "name" : "node-1",
  "cluster_name" : "my-elastic-cluster",
  "version" : {
    "number" : "7.17.3",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "5ad023604c8d7416c9eb6c0eadb62b14e766caff",
    "build_date" : "2022-04-19T08:11:19.070913226Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

9. 基本安全配置

啟用基礎安全功能

xpack.security.enabled: true

設置密碼

sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords interactive

防火墻配置

sudo ufw allow 9200/tcp
sudo ufw allow 9300/tcp

10. 常見問題解決

問題1:啟動失敗,報錯”max virtual memory areas vm.max_map_count [65530] is too low”

解決方法:

sudo sysctl -w vm.max_map_count=262144

問題2:無法綁定網絡端口

檢查:

sudo netstat -tulnp | grep 9200

可能需要調整network.host設置

查看日志

journalctl -u elasticsearch
# 或
tail -f /var/log/elasticsearch/my-elastic-cluster.log

11. 性能優化建議

  1. 硬件優化

    • 使用SSD存儲
    • 分配足夠內存(但不超過物理內存的50%)
  2. 配置優化

    indices.query.bool.max_clause_count: 8192
    thread_pool.search.queue_size: 1000
    
  3. 索引優化

    • 合理設置分片數(建議每個分片大小在10-50GB)
    • 使用索引生命周期管理(ILM)

12. 集群配置

多節點配置示例

cluster.name: my-production-cluster
node.name: node-1
network.host: 192.168.1.10
discovery.seed_hosts: ["192.168.1.10", "192.168.1.11", "192.168.1.12"]
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

節點角色配置

node.master: true
node.data: true
node.ingest: false

13. 插件管理

查看已安裝插件

sudo /usr/share/elasticsearch/bin/elasticsearch-plugin list

安裝插件(示例:ICU分析器)

sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu

刪除插件

sudo /usr/share/elasticsearch/bin/elasticsearch-plugin remove analysis-icu

14. 備份與恢復

配置快照倉庫

PUT /_snapshot/my_backup
{
  "type": "fs",
  "settings": {
    "location": "/mnt/backups/elasticsearch"
  }
}

創建快照

PUT /_snapshot/my_backup/snapshot_1?wait_for_completion=true

恢復快照

POST /_snapshot/my_backup/snapshot_1/_restore

15. 總結

本文詳細介紹了在Linux系統上安裝和配置Elasticsearch的全過程,包括: 1. 系統準備和Java環境安裝 2. 通過包管理器或手動方式安裝Elasticsearch 3. 基礎配置和優化建議 4. 服務管理和故障排查 5. 安全設置和集群配置 6. 插件管理和數據備份

通過正確配置和優化,Elasticsearch能夠為企業提供強大的搜索和分析能力。建議在生產環境中: - 使用專用硬件 - 配置監控系統 - 定期備份數據 - 保持版本更新

附錄:常用命令速查表

命令 描述
curl -X GET "localhost:9200/_cat/health?v" 檢查集群健康狀態
curl -X GET "localhost:9200/_cat/nodes?v" 查看節點信息
curl -X GET "localhost:9200/_cat/indices?v" 列出所有索引
curl -X PUT "localhost:9200/my_index" 創建新索引
curl -X DELETE "localhost:9200/my_index" 刪除索引

”`

注:實際使用時,您可能需要根據具體環境和Elasticsearch版本調整部分命令和配置參數。建議參考官方文檔獲取最新信息:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女