0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Elasticsearch入門簡介

阿銘linux ? 來源:阿銘linux ? 2023-02-24 09:44 ? 次閱讀

Elasticsearch簡介

Elasticsearch(后續(xù)簡稱ES) 是一個實時的分布式存儲、搜索、分析的引擎。ES基于java開發(fā),使用Lucene(全文檢索引擎工具)作為其核心來實現(xiàn)所有索引和搜索功能,但是它的目的是通過簡單的RESTful API來隱藏Lucene,從而使搜索變得簡單。

Elasticsearch生態(tài)

Elastic公司基于ES,提供了四大解決方案:搜索、日志分析、指標分析、安全分析。

a4cda7ba-b3ce-11ed-bfe3-dac502259ad0.png

其中以下幾個事件需要你了解:

Elasticsearch使用場景

將系統(tǒng)日志、應用日志收集起來存儲到es里,然后通過es來分析和搜索這些日志,后面我們會將日志采集分析平臺ELK,其中就用到了es。

使用Elasticsearch和Kibana靈活的運用數(shù)據(jù)可視化運維看板,并在看板上展示主機信息,通過具體指標來監(jiān)測主機狀態(tài),從而達到監(jiān)控的目的。

可通過Elasticsearch分析、檢索海量歷史日志,高效地完成安全審計工作。可以借助Elasticsearch的數(shù)據(jù)響應性能,快速感知系統(tǒng)中實時發(fā)生的事件,實時檢索關鍵詞,及時規(guī)避風險。

如果數(shù)據(jù)量很大(PB級),使用關系型數(shù)據(jù)庫(如MySQL)去搜索關鍵字就非常慢,甚至說系統(tǒng)會崩潰,而如果使用es來存儲數(shù)據(jù),并做搜索速度會非常快。這是es的特性。

Elasticsearch相關概念

索引可以理解成是一類文檔的集合,它是存放文檔的容器。 有人把索引比喻成關系型中的庫的概念,但我感覺更像是表的概念。 Mapping定義文檔字段的類型。 Setting定義不同的數(shù)據(jù)分布,比如定義有多少分片、多少副本。

之前的版本中,索引和文檔中間有這個Type的概念,每個索引下可以建立多個類型,文檔存儲時需要指定index和type。從6.0.0開始已經(jīng)被廢棄,7.0開始單個索引中只能有一個類型_doc。

棄用該概念的原因:

我們雖然可以通俗地去理解Index比作 SQL 的 Database,Type比作SQL的Table。但這并不準確,因為如果在SQL中,Table 之前相互獨立,同名的字段在兩個表中毫無關系。但是在ES中,同一個Index 下不同的 Type 如果有同名的字段,他們會被 Luecence 當作同一個字段 ,并且他們的定義必須相同。所以我覺得Index現(xiàn)在更像一個表,而Type字段并沒有多少意義。在7.0開始,一個索引只能建一個Type為_doc,而在8.x版本里已經(jīng)給隱藏了。

類似于關系型數(shù)據(jù)庫某個表里面具體一行一行的數(shù)據(jù)記錄。文檔是所有可搜索數(shù)據(jù)的最小單元。 比如,將日志記錄進Es時,每一條日志就是一個文檔。文檔會被序列化成JSON格式。JSON對象由字段組成,每個字段都有對應的字段類型(如,字符串、數(shù)值、布爾、日期、二進制、范圍),以下就是一個文檔的元數(shù)據(jù):

a4efbb3e-b3ce-11ed-bfe3-dac502259ad0.png

當使用Es集群時,一份完整的數(shù)據(jù)會分散開存到集群各個節(jié)點上,每個節(jié)點存一部分,這就是所謂的數(shù)據(jù)分片。當然,如果使用單機模式,也可以做分片,相當于是將一份數(shù)據(jù)分割開了存同一臺機器上,單節(jié)點多分片沒有啥意義,當然,如果想后期由單機改為集群,那有必要搞多分片。

分片的存在解決了數(shù)據(jù)水平擴容,分片讓Es可以存儲巨量(上PB)的數(shù)據(jù)。主分片數(shù)在創(chuàng)建索引時,就被指定了,一旦創(chuàng)建,無法更改,除非進行Reindex。

這個副本指的是數(shù)據(jù)分片的副本,為了保證數(shù)據(jù)高可用,需要設置副本,這個副本可以是多個,當一份數(shù)據(jù)出現(xiàn)異常,還有副本可以使用。在Es內(nèi)部,是可以做到自動故障轉移的,就是說一旦數(shù)據(jù)有問題,那么就會讓其中一份副本頂上。

Elasticsearch單機部署

1)修改服務器參數(shù)

##修改系統(tǒng)參數(shù),調(diào)整nofile以及noproc
cat >> /etc/security/limits.conf <> /etc/sysctl.conf
##使內(nèi)核參數(shù)生效
sysctl -p

2)es下載地址

3)通過yum安裝es(8.x版本)

導入GPG Key

rpm --import 

設置yum倉庫

cat > /etc/yum.repos.d/es.repo <

yum安裝es

yum install --enablerepo=elasticsearch elasticsearch

關閉ssl

vi  /etc/elasticsearch/elasticsearch.yml ##修改如下
xpack.security.http.ssl:
  enabled: false

啟動服務

systemctlstartelasticsearch

設置為開機自啟

systemctl enable elasticsearch

查看端口

netstat -lntp |grep java #兩個端口9200  9300,其中9200為RESTful接口訪問端口,9300為集群通信端口

重置密碼

/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

訪問9200端口

curl -u elastic:'上一步生成的密碼'  http://127.0.0.1:9200/
4)安裝Kibana實現(xiàn)可視化

Kibana早期是為Logstash開發(fā)的可視化工具,于2013年被Elastic公司收購。

前面安裝Es時,配置的yum倉庫里就帶有Kibana了,所以可以直接yum安裝:
yum install --enablerepo=elasticsearch kibana

在ES重置kibana-system用戶密碼

/usr/share/elasticsearch/bin/elasticsearch-reset-password -u kibana_system

編輯Kibana配置文件

vi /etc/kibana/kibana.yml #修改如下參數(shù)
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.222.101:9200"]
elasticsearch.username: "kibana_system"
elasticsearch.password: "K5L7b7JBgtC_dXmbmI2V"
i18n.locale: "zh-CN"  ##支持中文界面

啟動服務

systemctl start kibana
systemctl enable kibana

瀏覽器訪問 http://ip:5601

可以導入樣例數(shù)據(jù),如下圖

a50918f4-b3ce-11ed-bfe3-dac502259ad0.png

a5257e72-b3ce-11ed-bfe3-dac502259ad0.png

另外,可以訪問開發(fā)工具,來執(zhí)行常用API操作:

a555a1c4-b3ce-11ed-bfe3-dac502259ad0.png

a56c0c34-b3ce-11ed-bfe3-dac502259ad0.png






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • API
    API
    +關注

    關注

    2

    文章

    1472

    瀏覽量

    61749
  • SQL
    SQL
    +關注

    關注

    1

    文章

    753

    瀏覽量

    44032
  • MySQL
    +關注

    關注

    1

    文章

    797

    瀏覽量

    26399
  • JSON
    +關注

    關注

    0

    文章

    116

    瀏覽量

    6929

原文標題:Elasticsearch簡易入門教程

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Windows安裝ElasticSearch

    Windows安裝ElasticSearch
    的頭像 發(fā)表于 02-15 17:09 ?947次閱讀
    Windows安裝<b class='flag-5'>ElasticSearch</b>

    linux安裝配置ElasticSearch之源碼安裝

    ElasticSearch是基于Lucene這個非常成熟的索引方案,另加上一些分布式的實現(xiàn):集群,sharding,replication等。以下是對其采用源碼安裝的方法1.下載
    發(fā)表于 01-11 17:27

    ElasticSearch的詞條查詢

    ElasticSearch查詢 第三篇:詞條查詢
    發(fā)表于 04-30 17:03

    docker安裝Elasticsearch操作指南

    docker安裝Elasticsearch以及分詞器
    發(fā)表于 09-16 16:53

    ElasticSearch的初步環(huán)境

    ElasticSearch最實用入門指南——初步環(huán)境
    發(fā)表于 03-31 11:32

    elasticsearch介紹PPT

    elasticsearch介紹PPT
    發(fā)表于 12-13 21:05 ?20次下載

    Spring-Elasticsearch插件說明

    Spring-Elasticsearch插件說明
    發(fā)表于 12-13 21:05 ?0次下載

    嵌入式系統(tǒng)原理簡介入門

    嵌入式系統(tǒng)原理簡介入門
    發(fā)表于 10-30 16:02 ?3次下載
    嵌入式系統(tǒng)原理<b class='flag-5'>簡介</b>與<b class='flag-5'>入門</b>

    ElasticSearch的必備知識:從入門、索引管理到映射詳解

    本文介紹了ElasticSearch的必備知識:從入門、索引管理到映射詳解。 一、快速入門 1.查看集群的健康狀況 http://localhost:9200/_cat http
    的頭像 發(fā)表于 09-25 10:44 ?2274次閱讀
    <b class='flag-5'>ElasticSearch</b>的必備知識:從<b class='flag-5'>入門</b>、索引管理到映射詳解

    教你們怎么在Django中使用ElasticSearch

    什么是Elasticsearch? Elasticsearch是基于Lucene庫的搜索引擎。它提供了具有HTTP Web界面和無模式JSON文檔的分布式,多租戶功能的全文本搜索引擎
    的頭像 發(fā)表于 06-11 16:01 ?1920次閱讀

    ESPHome入門00 - 簡介(小白入門, 硬件準備)

    Esphome入門00- 簡介(小白入門, 廢話較多)
    發(fā)表于 12-16 16:52 ?13次下載
    ESPHome<b class='flag-5'>入門</b>00 - <b class='flag-5'>簡介</b>(小白<b class='flag-5'>入門</b>, 硬件準備)

    Elasticsearch6.1教程

    Elasticsearch6.1教程
    發(fā)表于 07-04 14:40 ?0次下載

    ElasticSearch是什么?應用場景是什么?

    ElasticSearch是什么 ElasticSearch的功能 ElasticSearch的應用場景 ElasticSearch的特點
    的頭像 發(fā)表于 10-09 18:38 ?2407次閱讀

    Elasticsearch保姆級入門

    我們需要創(chuàng)建一個供 Elasticsearch 和 Kibana 使用的 network。這個 network 將被用于 Elasticsearch 和 Kibana 之間的通信。
    的頭像 發(fā)表于 09-01 15:24 ?795次閱讀
    <b class='flag-5'>Elasticsearch</b>保姆級<b class='flag-5'>入門</b>

    SpringBoot 連接ElasticSearch的使用方式

    在上篇 ElasticSearch 文章中,我們詳細的介紹了 ElasticSearch 的各種 api 使用。 實際的項目開發(fā)過程中,我們通?;谀承┲髁骺蚣芷脚_進行技術開發(fā),比如
    的頭像 發(fā)表于 10-09 10:35 ?943次閱讀