編程隨筆-ElasticSearch知識(shí)導(dǎo)圖(6):管理

1. 集群API

??“curl -iXGET "http://192.168.127.100:9200/_cluster/health?pretty=true"”這樣的命令可能大家在日常工作中會(huì)經(jīng)常使用,它用來顯示當(dāng)前集群的健康程度,在返回結(jié)果中,包含當(dāng)前集群有關(guān)的一些關(guān)鍵信息(文獻(xiàn)2提到了一個(gè)使用“wait_for_status”的小技巧)。
??ES提供了類似上面命令的集群API用于獲取集群即時(shí)狀態(tài)與信息滥壕。根據(jù)API的URI可分為幾類API,如下圖所示:

集群API

??請(qǐng)注意金踪,“_cluster”API與“_cat”API提供的功能大部分重復(fù)胡岔,不同的是“_cat”API的輸出結(jié)果非JSON格式,對(duì)于熟悉*nux的系統(tǒng)管理員來說更加親切屋剑。

2. 應(yīng)用客戶端訪問

??除了可使用顯式地HTTP rest請(qǐng)求訪問ES集群,ES還提供了基于java的兩種客戶端開發(fā)包供ES用戶在應(yīng)用代碼中調(diào)用:

  • Transport Client:可用于向遠(yuǎn)程集群發(fā)送請(qǐng)求的輕量級(jí)傳輸客戶機(jī)芋簿。它本身并不是ES集群的一部分与斤,只承擔(dān)向集群發(fā)送請(qǐng)求的職責(zé)。
  • Node client:使用該客戶端的應(yīng)用節(jié)點(diǎn)作為一個(gè)非數(shù)據(jù)節(jié)點(diǎn)加入ES集群齐唆。這個(gè)非數(shù)據(jù)節(jié)點(diǎn)并不保存數(shù)據(jù)锭弊,但它知道集群中所存儲(chǔ)數(shù)據(jù)的元數(shù)據(jù)味滞,可以直接將請(qǐng)求發(fā)送到對(duì)應(yīng)數(shù)據(jù)節(jié)點(diǎn)。

??TC客戶端是應(yīng)用程序與ES集群之間的橋梁钮呀,它了解ES的API并可在發(fā)送請(qǐng)求時(shí)實(shí)現(xiàn)對(duì)集群節(jié)點(diǎn)訪問的輪轉(zhuǎn)(round-robin)剑鞍。NC客戶端則直接是ES集群的一部分,對(duì)索引爽醋、分片信息都更為了解蚁署,這樣在發(fā)送請(qǐng)求時(shí)更為精準(zhǔn)。
??TC客戶端實(shí)現(xiàn)了應(yīng)用程序與ES集群的解耦蚂四,而NC客戶端在效率上更有優(yōu)勢(shì)光戈。應(yīng)該根據(jù)適用場(chǎng)景來選擇:當(dāng)有多個(gè)客戶端(如上千個(gè))需要訪問ES時(shí)哪痰,建議使用TC客戶端,這樣集群中不需要增加多個(gè)節(jié)點(diǎn)久妆;若應(yīng)用只需要少量的晌杰,且長(zhǎng)時(shí)間與ES集群保持的連接,可以考慮使用NC客戶端(注意這樣應(yīng)用程序也可能會(huì)綁定在集群中)筷弦。

3. 生產(chǎn)環(huán)境的監(jiān)控

??系統(tǒng)運(yùn)維是生產(chǎn)環(huán)境需要解決的首要問題肋演。文獻(xiàn)3強(qiáng)烈建議使用單獨(dú)的監(jiān)控集群。使用單獨(dú)的監(jiān)控集群:即使在生產(chǎn)集群故障的情況下仍可訪問歷史監(jiān)控?cái)?shù)據(jù)奸笤;并且不會(huì)影響生產(chǎn)集群的性能(典型的CQRS思路)惋啃。
??ES使用采集器(Collectors)采集數(shù)據(jù)哼鬓,并在生產(chǎn)集群中作一些配置监右,這些配置可控制采集數(shù)據(jù)的頻率、配置超時(shí)以及在本地存儲(chǔ)的監(jiān)控?cái)?shù)據(jù)保存周期异希。ES使用導(dǎo)出器(exporters)來發(fā)送監(jiān)控?cái)?shù)據(jù)健盒。默認(rèn)情況下,監(jiān)控?cái)?shù)據(jù)使用本地導(dǎo)出器( local exporter)存儲(chǔ)在同一個(gè)生產(chǎn)集群中称簿,若要將監(jiān)控?cái)?shù)據(jù)發(fā)送到監(jiān)控集群扣癣,需要使用http導(dǎo)出器( http exporter),并配置好監(jiān)控集群的地址與安全憑證(credential)。
??在6.5和更高版本中憨降,可以使用Metricbeat來收集和發(fā)送關(guān)于Elasticsearch的數(shù)據(jù)父虑。Metricbeat是需要單獨(dú)下載和安裝的工具(https://www.elastic.co/downloads/beats/metricbeat)。在這種方式下授药,Metricbeat可視為一個(gè)嵌入ES生產(chǎn)集群的運(yùn)維agent士嚎。
??下圖展示了一個(gè)Elasticsearch使用對(duì)elastic棧的監(jiān)控體系結(jié)構(gòu)。

監(jiān)控架構(gòu)

4. 數(shù)據(jù)備份與恢復(fù)

??信息系統(tǒng)的最大災(zāi)難恐怕就是數(shù)據(jù)丟失了悔叽。ES提供snapshot API莱衩,可將集群中的當(dāng)前狀態(tài)和數(shù)據(jù)保存到共享存儲(chǔ)庫(kù)(shared repository)中。這個(gè)備份過程是“智能的”:第一個(gè)快照保存數(shù)據(jù)的完整副本娇澎,所有后續(xù)快照將保存現(xiàn)有快照和新數(shù)據(jù)之間的增量笨蚁。因而隨著時(shí)間的推移,數(shù)據(jù)會(huì)隨著快照數(shù)據(jù)的改變而增加和刪除趟庄。后續(xù)備份因?yàn)閭鬏敂?shù)據(jù)減少括细,將大大加快速度。
??要使用此功能戚啥,必須首先創(chuàng)建一個(gè)存儲(chǔ)庫(kù)來保存數(shù)據(jù)奋单,可用的存儲(chǔ)庫(kù)可以為:本地文件系統(tǒng)(或掛載設(shè)備);HDFS虑鼎;Amazon S3等辱匿。
??使用如下命令建立本地文件系統(tǒng)名為“zk_backup”的快照(需要配置“path.repo”屬性):

curl -iXPUT 'localhost:9200/_snapshot/zk_backup?pretty' -H "Content-type: application/json" -d'
{
    "type": "fs",
    "settings": {
        "location": "/home/zk/es_backup"
    }
}
'

??下面我們定義第一個(gè)快照的名字為“snapshot_20190301” 键痛,使用下面命令開始數(shù)據(jù)備份(備份集群中所有的索引,若備份指定索引請(qǐng)?jiān)谙Ⅲw中指定):

curl -iXPUT 'localhost:9200/_snapshot/zk_backup/snapshot_20190301?pretty'

??在本地目錄“/home/zk/es_backup”可以看到生成如下文件:

[zk@centos-100 es_backup]$ ls -l
總用量 36
-rw-rw-r--. 1 zk zk   494 3月   1 17:03 index-0
-rw-rw-r--. 1 zk zk     8 3月   1 17:03 index.latest
drwxrwxr-x. 7 zk zk   156 3月   1 17:03 indices
-rw-rw-r--. 1 zk zk 21587 3月   1 17:03 meta--SwJ6wKQTKCgg5-3B3bL3w.dat
-rw-rw-r--. 1 zk zk   276 3月   1 17:03 snap--SwJ6wKQTKCgg5-3B3bL3w.dat

??使用快照恢復(fù)集群數(shù)據(jù)的命令也可簡(jiǎn)單匾七,如下所示(若恢復(fù)指定索引請(qǐng)?jiān)谙Ⅲw中指定):

curl –iXPOST 'localhost:9200/_snapshot/zk_backup/snapshot_20190301/ _restore?pretty'

??需要注意的是絮短,如果當(dāng)前集群中存在于快照同名的索引,系統(tǒng)會(huì)報(bào)錯(cuò)昨忆。解決方法是刪除當(dāng)前集群中同名索引丁频,或使用rename模式修改恢復(fù)到集群中的索引名字(在消息體中定義)。

5. 參考文獻(xiàn)

  1. https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html
  2. Clinton Gormley &Zachary Tong, Elasticsearch: The Definitive Guide,2015
  3. https://www.elastic.co/guide/en/elastic-stack-overview/current/how-monitoring-works.html

本系列文章:

編程隨筆-ElasticSearch知識(shí)導(dǎo)圖(1):全景
編程隨筆-ElasticSearch知識(shí)導(dǎo)圖(2):分布式架構(gòu)
編程隨筆-ElasticSearch知識(shí)導(dǎo)圖(3):映射
編程隨筆-ElasticSearch知識(shí)導(dǎo)圖(4):搜索
編程隨筆-ElasticSearch知識(shí)導(dǎo)圖(5):聚合
編程隨筆-ElasticSearch知識(shí)導(dǎo)圖(6):管理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末邑贴,一起剝皮案震驚了整個(gè)濱河市席里,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌拢驾,老刑警劉巖奖磁,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異繁疤,居然都是意外死亡咖为,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門稠腊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來躁染,“玉大人,你說我怎么就攤上這事架忌⊥掏” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵叹放,是天一觀的道長(zhǎng)饰恕。 經(jīng)常有香客問我,道長(zhǎng)许昨,這世上最難降的妖魔是什么懂盐? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮糕档,結(jié)果婚禮上莉恼,老公的妹妹穿的比我還像新娘。我一直安慰自己速那,他們只是感情好俐银,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著端仰,像睡著了一般捶惜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上荔烧,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天吱七,我揣著相機(jī)與錄音汽久,去河邊找鬼。 笑死踊餐,一個(gè)胖子當(dāng)著我的面吹牛景醇,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播吝岭,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼三痰,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了窜管?” 一聲冷哼從身側(cè)響起散劫,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎幕帆,沒想到半個(gè)月后获搏,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蜓肆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年颜凯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片仗扬。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蕾额,靈堂內(nèi)的尸體忽然破棺而出早芭,到底是詐尸還是另有隱情,我是刑警寧澤诅蝶,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布退个,位于F島的核電站,受9級(jí)特大地震影響调炬,放射性物質(zhì)發(fā)生泄漏语盈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一缰泡、第九天 我趴在偏房一處隱蔽的房頂上張望刀荒。 院中可真熱鬧,春花似錦棘钞、人聲如沸缠借。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽泼返。三九已至,卻和暖如春姨拥,著一層夾襖步出監(jiān)牢的瞬間绅喉,已是汗流浹背渠鸽。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留柴罐,地道東北人拱绑。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像丽蝎,于是被迫代替她去往敵國(guó)和親猎拨。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容