首頁 資訊 elasticsearch

elasticsearch

來源:泰然健康網(wǎng) 時(shí)間:2024年11月27日 02:44

概覽

來自 https://www.cnblogs.com/cjsblog/p/9439331.html,膜拜大佬

Elasticsearch 是一個(gè)分布式的 RESTful 風(fēng)格的搜索和數(shù)據(jù)分析引擎。

查詢 : Elasticsearch 允許執(zhí)行和合并多種類型的搜索 — 結(jié)構(gòu)化、非結(jié)構(gòu)化、地理位置、度量指標(biāo) — 搜索方式隨心而變。 分析 : 找到與查詢最匹配的十個(gè)文檔是一回事。但是如果面對(duì)的是十億行日志,又該如何解讀呢?Elasticsearch 聚合讓您能夠從大處著眼,探索數(shù)據(jù)的趨勢和模式。 速度 : Elasticsearch 很快。真的,真的很快。 可擴(kuò)展性 : 可以在筆記本電腦上運(yùn)行。 也可以在承載了 PB 級(jí)數(shù)據(jù)的成百上千臺(tái)服務(wù)器上運(yùn)行。 彈性 : Elasticsearch 運(yùn)行在一個(gè)分布式的環(huán)境中,從設(shè)計(jì)之初就考慮到了這一點(diǎn)。 靈活性 : 具備多個(gè)案例場景。數(shù)字、文本、地理位置、結(jié)構(gòu)化、非結(jié)構(gòu)化。所有的數(shù)據(jù)類型都?xì)g迎。 HADOOP & SPARK : Elasticsearch + Hadoop Near Realtime (NRT)

Elasticsearch是一個(gè)近乎實(shí)時(shí)的搜索平臺(tái)。這意味著從索引文檔到可以搜索的時(shí)間只有輕微的延遲(通常是1秒)。

Cluster

集群是一個(gè)或多個(gè)節(jié)點(diǎn)(服務(wù)器)的集合,它們共同保存你的整個(gè)數(shù)據(jù),并提供跨所有節(jié)點(diǎn)的聯(lián)合索引和搜索功能。一個(gè)集群由一個(gè)唯一的名稱標(biāo)識(shí),默認(rèn)這個(gè)唯一標(biāo)識(shí)的名稱是"elasticsearch"。這個(gè)名稱很重要,因?yàn)槿绻?jié)點(diǎn)被設(shè)置為按其名稱加入集群,那么節(jié)點(diǎn)只能是集群的一部分。

確保不要在不同的環(huán)境中用相同的集群名稱,否則可能導(dǎo)致節(jié)點(diǎn)加入到錯(cuò)誤的集群中。例如,你可以使用"logging-dev", "logging-test", "logging-prod"分別用于開發(fā)、測試和正式集群的名字。

Node

節(jié)點(diǎn)是一個(gè)單獨(dú)的服務(wù)器,它是集群的一部分,存儲(chǔ)數(shù)據(jù),并參與集群的索引和搜索功能。就像集群一樣,節(jié)點(diǎn)由一個(gè)名稱來標(biāo)識(shí),默認(rèn)情況下,該名稱是在啟動(dòng)時(shí)分配給節(jié)點(diǎn)的隨機(jī)通用唯一標(biāo)識(shí)符(UUID)。如果不想用默認(rèn)的節(jié)點(diǎn)名,可以定義任何想要的節(jié)點(diǎn)名。這個(gè)名稱對(duì)于管理來說很重要,因?yàn)槟阆MR(shí)別網(wǎng)絡(luò)中的哪些服務(wù)器對(duì)應(yīng)于你的Elasticsearch集群中的哪些節(jié)點(diǎn)。

一個(gè)節(jié)點(diǎn)可以通過配置集群名稱來加入到一個(gè)特定的集群中。默認(rèn)情況下,每個(gè)節(jié)點(diǎn)都被設(shè)置加入到一個(gè)名字叫"elasticsearch"的集群中,這就意味著如果你啟動(dòng)了很多個(gè)節(jié)點(diǎn),并且假設(shè)它們彼此可以互相發(fā)現(xiàn),那么它們將自動(dòng)形成并加入到一個(gè)名為"elasticsearch"的集群中。

一個(gè)集群可以有任意數(shù)量的節(jié)點(diǎn)。此外,如果在你的網(wǎng)絡(luò)上當(dāng)前沒有運(yùn)行任何節(jié)點(diǎn),那么此時(shí)啟動(dòng)一個(gè)節(jié)點(diǎn)將默認(rèn)形成一個(gè)單節(jié)點(diǎn)的名字叫"elasticsearch"的集群。

Index

索引是具有某種相似特征的文檔的集合。例如,你可以有一個(gè)顧客數(shù)據(jù)索引,產(chǎn)品目錄索引和訂單數(shù)據(jù)索引。索引有一個(gè)名稱(必須是小寫的)標(biāo)識(shí),該名稱用于在對(duì)其中的文檔執(zhí)行索引、搜索、更新和刪除操作時(shí)引用索引。

Document

文檔是可以被索引的基本信息單元。文檔用JSON表示。

Shards & Replicas

一個(gè)索引可能存儲(chǔ)大量數(shù)據(jù),這些數(shù)據(jù)可以超過單個(gè)節(jié)點(diǎn)的硬件限制。例如,一個(gè)包含10億條文檔占用1TB磁盤空間的索引可能不適合在單個(gè)節(jié)點(diǎn)上,或者可能太慢而不能單獨(dú)處理來自單個(gè)節(jié)點(diǎn)的搜索請(qǐng)求。

為了解決這個(gè)問題,Elasticsearch提供了將你的索引細(xì)分為多個(gè)碎片(或者叫分片)的能力。在創(chuàng)建索引時(shí),可以簡單地定義所需的分片數(shù)量。每個(gè)分片本身就是一個(gè)功能完全獨(dú)立的“索引”,可以駐留在集群中的任何節(jié)點(diǎn)上。

分片之所以重要,主要有兩個(gè)原因:

它允許你水平地分割/擴(kuò)展內(nèi)容卷 它允許你跨分片(可能在多個(gè)節(jié)點(diǎn)上)分布和并行操作,從而提高性能和吞吐量

在一個(gè)網(wǎng)絡(luò)/云環(huán)境中隨時(shí)都有可能出現(xiàn)故障,強(qiáng)烈推薦你有一個(gè)容災(zāi)機(jī)制。Elasticsearch允許你將一個(gè)或者多個(gè)索引分片復(fù)制到其它地方,這被稱之為副本。

復(fù)制之所以重要,有兩個(gè)主要原因:

它提供了在一個(gè)shard/node失敗是的高可用性。出于這個(gè)原因,很重要的一個(gè)點(diǎn)是一個(gè)副本從來不會(huì)被分配到與它復(fù)制的原始分片相同節(jié)點(diǎn)上。也就是說,副本是放到另外的節(jié)點(diǎn)上的。 它允許擴(kuò)展搜索量/吞吐量,因?yàn)樗阉骺梢栽谒懈北旧喜⑿袌?zhí)行。

總而言之,每個(gè)索引都可以分割成多個(gè)分片。索引也可以被復(fù)制零(意味著沒有副本)或更多次。一旦被復(fù)制,每個(gè)索引都將具有主分片(被復(fù)制的原始分片)和副本分片(主分片的副本)。在創(chuàng)建索引時(shí),可以為每個(gè)索引定義分片和副本的數(shù)量。創(chuàng)建索引后,您可以隨時(shí)動(dòng)態(tài)地更改副本的數(shù)量,但不能更改事后分片的數(shù)量。

在默認(rèn)情況下,Elasticsearch中的每個(gè)索引都分配了5個(gè)主分片和1個(gè)副本,這意味著如果集群中至少有兩個(gè)節(jié)點(diǎn),那么索引將有5個(gè)主分片和另外5個(gè)副本分片(PS:這5個(gè)副本分片組成1個(gè)完整副本),每個(gè)索引總共有10個(gè)分片。

副本是針對(duì)索引而言的,同時(shí)需要注意索引和節(jié)點(diǎn)數(shù)量沒有關(guān)系,我們說2個(gè)副本指的是索引被復(fù)制了2次,而1個(gè)索引可能由5個(gè)分片組成,那么在這種情況下,集群中的分片數(shù)應(yīng)該是 5 × (1 + 2) = 15

API

集群健康

curl -X GET "localhost:9200/_cat/health?v"

epoch timestamp cluster status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent 1582537048 04:37:28 logminer green 2 2 54 27 0 0 0 0 - 100.0% 集群的節(jié)點(diǎn)列表

curl -X GET "localhost:9200/_cat/nodes?v"

ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name 192.168.1.221 15 65 1 0.04 0.04 0.05 mdi - red-hat-enterprise-linux.shared 192.168.1.222 20 84 1 0.01 0.03 0.05 mdi * elk-master-2 查看全部索引

curl -X GET "localhost:9200/_cat/indices?v"

health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open syslog wvr4sS9BQRGFVT75IlVpEQ 5 1 147 0 361.9kb 198.4kb green open logstash-2020.02.24 gaenUhbzRnSG_X7efeDiOA 5 1 37 0 156.4kb 78.2kb green open filebeat-6.2.4-2020.02.24 6ZRK7An5QruVhw6DKEeRtA 3 1 5 0 24.7kb 12.3kb green open .kibana uIQdfO7kRXia5LDq72tEWw 1 1 5 0 76.5kb 38.2kb green open appache-log PjiviNm5SjS4bceH1ccUqg 5 1 117 0 390.8kb 195.4kb green open filebeat-6.2.4-2020.02.22 Lj9T_parQNCnj1oKXOuPcw 3 1 522 0 253.2kb 126.6kb green open logstash-2020.02.22 NOxEYxSRQM6n3wN4gG0dtQ 5 1 37088 0 7.9mb 3.9mb

網(wǎng)址: elasticsearch http://www.u1s5d6.cn/newsview123648.html

推薦資訊