Erlo

Ubuntu 22.04 LTS Elasticsearch-7.17.28 部署指南

2025-03-05 17:29:01 发布   17 浏览  
页面报错/反馈
收藏 点赞

一. Elasticsearch 简介

1. 什么是 Elasticsearch ?

Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎。它能够以近乎实时的速度存储、搜索和分析大量数据,广泛应用于日志分析、全文搜索、监控等领域。

2. 主要特点

  • 分布式:Elasticsearch 是一个分布式系统,可以水平扩展,处理大规模的数据。
  • 高可用性:通过分片和副本机制,Elasticsearch 提供了高可用性和容错能力。
  • RESTful 接口:使用 HTTP 协议和 JSON 格式的 RESTful API,使得 Elasticsearch 易于与其他系统集成。
  • 全文搜索:强大的全文搜索功能,支持复杂的查询语法和多种分析功能。
  • 实时数据处理:能够实时处理和分析数据,适用于需要及时反馈的应用场景。

3. 核心概念

3.1 集群 (Cluster)

Elasticsearch 集群由一个或多个节点组成,共享相同的集群名称。每个集群有一个主节点,负责管理集群状态和分片分配。

3.2 节点 (Node)

节点是 Elasticsearch 的运行实例,可以是一个物理机或虚拟机上的进程。节点可以属于一个集群,并存储数据和参与集群的搜索和索引操作。

3.3 索引 (Index)

索引是具有相似特征的文档的集合,每个索引都有一个唯一的名称,用于索引、搜索、更新和删除文档。

3.4 文档 (Document)

文档是 Elasticsearch 中的基本信息单元,以 JSON 格式表示。每个文档属于一个索引,并有一个唯一的标识符。

3.5 分片 (Shard)

分片是索引的基本组成部分,一个索引可以分为多个分片。每个分片是一个自包含的 Lucene 索引,可以独立存储和搜索。

二. 部署 Elasticsearch

1. 单机部署 Elasticsearch

1.1 下载 Elasticsearch 软件包
[root@elk100:~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.28-amd64.deb
1.2 安装 ES 软件包
[root@elk100:~]# dpkg -i elasticsearch-7.17.28-amd64.deb 
1.3 修改 ES 的配置文件
[root@elk100:~]# egrep -v ^# /etc/elasticsearch/elasticsearch.yml
cluster.name: cxjyyds
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.type: single-node
1.4 启动 ES 服务
[root@elk100:~]# systemctl enable --now elasticsearch.service 
[root@elk100:~]# netstat -tnulp | egrep '9200|9300'
tcp6       0      0 :::9300                 :::*                    LISTEN      1812/java           
tcp6       0      0 :::9200                 :::*                    LISTEN      1812/java 
1.5 访问测试
[root@elk100:~]# curl 10.0.0.100:9200
{
  "name" : "elk100",
  "cluster_name" : "cxjyyds",
  "cluster_uuid" : "QaG0eioMRHGgDx3ZZUBrVw",
  "version" : {
    "number" : "7.17.28",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "139cb5a961d8de68b8e02c45cc47f5289a3623af",
    "build_date" : "2025-02-20T09:05:31.349013687Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.3",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

[root@elk100:~]# curl 10.0.0.100:9200/_cat/nodes
10.0.0.100 34 97 6 0.18 0.27 0.16 cdfhilmrstw * elk100

2. 集群部署 Elasticsearch

2.1 将 Elasticsearch 软件包拷贝到其他节点
[root@elk100:~]# scp elasticsearch-7.17.28-amd64.deb 10.0.0.101:~ 
[root@elk100:~]# scp elasticsearch-7.17.28-amd64.deb 10.0.0.102:~ 
2.2 安装 ES 软件包
[root@elk101:~]# dpkg -i elasticsearch-7.17.28-amd64.deb
[root@elk102:~]# dpkg -i elasticsearch-7.17.28-amd64.deb
2.3 elk100 节点停止服务
[root@elk100:~]# systemctl stop elasticsearch.service 
2.4 修改配置文件
[root@elk100:~]# egrep -v ^# /etc/elasticsearch/elasticsearch.yml
cluster.name: cxjyyds
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["10.0.0.100", "10.0.0.101", "10.0.0.102"]
2.5 将配置文件同步到其他节点
[root@elk100:~]# scp /etc/elasticsearch/elasticsearch.yml 10.0.0.101:/etc/elasticsearch/elasticsearch.yml
[root@elk100:~]# scp /etc/elasticsearch/elasticsearch.yml 10.0.0.102:/etc/elasticsearch/elasticsearch.yml
2.6 启动 ES 服务
[root@elk100:~]# systemctl enable --now elasticsearch.service
[root@elk101:~]# systemctl enable --now elasticsearch.service
[root@elk102:~]# systemctl enable --now elasticsearch.service
2.7 测试访问
[root@elk100:~]# curl 10.0.0.100:9200
{
  "name" : "elk100",
  "cluster_name" : "cxjyyds",
  "cluster_uuid" : "QaG0eioMRHGgDx3ZZUBrVw",
  "version" : {
    "number" : "7.17.28",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "139cb5a961d8de68b8e02c45cc47f5289a3623af",
    "build_date" : "2025-02-20T09:05:31.349013687Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.3",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

[root@elk100:~]# curl 10.0.0.100:9200/_cat/nodes
10.0.0.102 6 97 32 0.84 0.24 0.08 cdfhilmrstw - elk102
10.0.0.100 6 97 19 0.35 0.25 0.19 cdfhilmrstw * elk100
10.0.0.101 7 97 32 0.63 0.21 0.07 cdfhilmrstw - elk101

登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认