主要內(nèi)容:
Elasticseach介紹
Elasticseach使用場(chǎng)景
Elasticseach數(shù)據(jù)清理
1.1 導(dǎo)語
Elasticsearch(文中簡(jiǎn)稱ES)是分布式全文搜索引擎,產(chǎn)品提供高可用、易擴(kuò)展以及近實(shí)時(shí)的搜索能力,廣泛應(yīng)用于數(shù)據(jù)存儲(chǔ)、搜索和實(shí)時(shí)分析。很多服務(wù)的可用性對(duì)ES重度依賴。以下為es的核心概念。
1.2 Elasticsearch數(shù)據(jù)寫入
Elasticsearch數(shù)據(jù)寫入過程包含同步與異步兩個(gè)過程,如下圖所示:
同步過程:是指在請(qǐng)求返回前做的事情,即包含在一個(gè)HTTP請(qǐng)求的過程中,客戶端需要等其做完才能拿到結(jié)果。簡(jiǎn)單來看,這個(gè)過程需要完成三件事:第一,將操作記錄寫入到translog中,我們后面再來談它的作用;第二,根據(jù)數(shù)據(jù)生成相應(yīng)的數(shù)據(jù)結(jié)構(gòu),并寫入到in-memorybuffer,注意是寫入到一個(gè)內(nèi)存buffer中,不是磁盤;第三,將數(shù)據(jù)同步到所有replicashard中。完成這些之后,就會(huì)生成相應(yīng)的結(jié)果返回給coordinate節(jié)點(diǎn)了。
異步過程:一般來說,寫磁盤很慢,且非常耗費(fèi)CPU與IO,在同步過程中,為了讓請(qǐng)求盡快返回,并沒有將數(shù)據(jù)直接落盤。Elasticsearch的最小數(shù)據(jù)單元是segment,而此時(shí)數(shù)據(jù)還在in-memorybuffer中,因此這部分?jǐn)?shù)據(jù)是不能被查詢請(qǐng)求訪問到的。只有當(dāng)發(fā)生refresh動(dòng)作,才會(huì)產(chǎn)生一個(gè)新的segment,將內(nèi)存buffer中的數(shù)據(jù)寫入到里面,同時(shí)清空buffer。默認(rèn)refresh的時(shí)間間隔是1秒,可以配置,需要在實(shí)時(shí)性與性能之間進(jìn)行權(quán)衡。此時(shí)雖然已經(jīng)生成了新的segment文件,但是只是停留在filesystemcache中,并沒有真正的落到磁盤中。這些動(dòng)作的目的都是為了將"寫磁盤"這件事盡可能的延后并變得低頻,但是數(shù)據(jù)一直留在內(nèi)存中始終是不安全的,很容易因?yàn)閿嚯姷仍驅(qū)е聰?shù)據(jù)丟失,因此每隔一段時(shí)間,Elasticsearch會(huì)真正做一次磁盤flush,完成數(shù)據(jù)的持久化。
Master配置elasticsearch.yml
Slave配置elasticsearch.yml
通過root加入如下配置,否則會(huì)報(bào)錯(cuò)
后臺(tái)啟動(dòng)$ES_HOME/bin/elasticseach-d
3.1 Elasticsearch的應(yīng)用
國(guó)外:
(1)維基百科,類似百度百科,全文檢索,高亮,搜索推薦
(2)TheGuardian(國(guó)外新聞網(wǎng)站),用戶行為日志(點(diǎn)擊,瀏覽,收藏,評(píng)論)+社交網(wǎng)絡(luò)數(shù)據(jù),數(shù)據(jù)分析
(3)日志數(shù)據(jù)分析,logstash采集日志(1)維基百科,類似百度百科,全文檢索,高亮,搜索推薦
(4)TheGuardian(國(guó)外新聞網(wǎng)站),用戶行為日志(點(diǎn)擊,瀏覽,收藏,評(píng)論)+社交網(wǎng)絡(luò)數(shù)據(jù),數(shù)據(jù)分析
(5)StackOverflow(國(guó)外的程序異常討論論壇)
(6)GitHub(開源代碼管理)
(7)電商網(wǎng)站,檢索商品
(8)日志數(shù)據(jù)分析,logstash采集日志,ES進(jìn)行復(fù)雜的數(shù)據(jù)分析(ELK技術(shù),elasticsearch+logstash+kibana)
(9)商品價(jià)格監(jiān)控網(wǎng)站
(10)BI系統(tǒng),商業(yè)智能,BusinessIntelligence。
國(guó)內(nèi):
站內(nèi)搜索(電商,招聘,門戶,等等),IT系統(tǒng)搜索(OA,CRM,ERP,等等),數(shù)據(jù)分析。
3.2 Elasticseach全家桶
Kibana: 數(shù)據(jù)可視化,與elasticsearch交互。Elasticsearch:存儲(chǔ),索引,搜索。Logstash:數(shù)據(jù)收集,過濾,轉(zhuǎn)換。Beats:比logstash更輕巧,更多樣。
基于ELK和Kafka的日志分析系統(tǒng)
情景再現(xiàn):
某個(gè)主機(jī)es進(jìn)程掛掉,登錄主機(jī)發(fā)現(xiàn)安裝目錄(data目錄)使用率100%(當(dāng)前是已清理的截圖)。
通過es命令curlhttp://ip:端口號(hào)/_cat/indices查詢到所有索引大小
通過post索引名/_delete_by_query按條件刪除索引較大的歷史數(shù)據(jù)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/130020.html
摘要:概述應(yīng)用一旦容器化以后,需要考慮的就是如何采集位于容器中的應(yīng)用程序的打印日志供運(yùn)維分析。 showImg(https://segmentfault.com/img/remote/1460000014146680); 概述 應(yīng)用一旦容器化以后,需要考慮的就是如何采集位于Docker容器中的應(yīng)用程序的打印日志供運(yùn)維分析。典型的比如 SpringBoot應(yīng)用的日志 收集。本文即將闡述如何利...
摘要:點(diǎn)擊前往中文地址先決條件簡(jiǎn)單安裝下載地址下載或者其他都可以。版本處理方案新建格式日志文件。配置日志會(huì)隨著配置進(jìn)行生成,結(jié)果如下忽略上述日志內(nèi)容,程序看得懂即可配置推送到需要根據(jù)業(yè)務(wù)場(chǎng)景進(jìn)行配置,現(xiàn)在顯示最簡(jiǎn)單的配置。 過去咱們開發(fā)中,對(duì)日志這個(gè)環(huán)節(jié)其實(shí)并不太重視,直到有一天,應(yīng)用出現(xiàn)異常,這個(gè)時(shí)候才想起來日志,但很可惜,為時(shí)已晚。 咱們做運(yùn)維和開發(fā),除了救火,還需要防火,因此一些防范的...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20