一. 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
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |