(五)安裝Elasticsearch-head插件

前言

通過前面的學(xué)習(xí)我們已經(jīng)可以往elasticsearch中存數(shù)據(jù)了,我們知道elasticsearch天生就是為海量數(shù)據(jù)和大規(guī)模集群而存在的,所以如果我們想要管理這些數(shù)據(jù)和集群,那么肯定得借助其他的一些工具進(jìn)行管理,不然大家可以想象一下,我想要知道我的索引有哪些,數(shù)據(jù)量有多大,還得發(fā)送一個(gè)一個(gè)REST去查。我想管理我elasticsearch集群中所有的主機(jī),看看它們的運(yùn)行狀態(tài),集群數(shù)量,還得一臺一臺機(jī)器遠(yuǎn)程連接進(jìn)去。這個(gè)工作量我想任何一個(gè)運(yùn)維人員都是受不了的,所有這個(gè)時(shí)候,如果有一個(gè)圖形管理界面,可以讓我們集中并很直觀管理我們的數(shù)據(jù)和集群,那這個(gè)工具沒有理由不使用把!而這個(gè)圖形界面就是elasticsearch-head插件。

elasticsearch-head插件介紹

elasticsearch-head是一個(gè)界面化的集群操作和管理工具,可以對集群進(jìn)行傻瓜式操作。你可以通過插件把它集成到elasticsearch(5.0版本后不支持此方式),也可以安裝成一個(gè)獨(dú)立webapp。elasticsearch-head插件是使用JavaScript開發(fā)的,依賴Node.js庫,使用Grunt工具構(gòu)建,所以等會我們要安裝elasticsearch-head,還需要先安裝Node.js和Grunt。
elasticsearch-head主要的作用有以下這些方面:

  • 顯示集群的拓?fù)?并且能夠執(zhí)行索引和節(jié)點(diǎn)級別操作
  • 搜索接口能夠查詢集群中原始json或表格格式的檢索數(shù)據(jù)
  • 能夠快速訪問并顯示集群的狀態(tài)
  • 有一個(gè)輸入窗口,允許任意調(diào)用RESTful API。這個(gè)接口包含幾個(gè)選項(xiàng),可以組合在一起以產(chǎn)生不同的結(jié)果;
  • 請求方法(get、put、post、delete),查詢json數(shù)據(jù),節(jié)點(diǎn)和路徑
  • 支持JSON驗(yàn)證器
  • 支持重復(fù)請求計(jì)時(shí)器
  • 支持使用javascript表達(dá)式變換結(jié)果

安裝步驟

安裝node.js

1、下載node.js
下載地址:https://nodejs.org/dist/v6.9.2/node-v6.9.2-linux-x64.tar.xz,把node.js的安裝包下載下來后上傳Linux主機(jī)上

2、解壓node.js安裝包
xz -d node-v6.9.2-linux-x64.tar.xz #使用xz命令解壓xz包,解壓出來的結(jié)果是tar包
tar –xvf node-v6.9.2-linux-x64.tar #解壓tar包
mv node-v6.9.2-linux-x64 /usr/local/node

3、配置環(huán)境變量
vi /etc/profile #打開配置文件
NODE_HOME=/usr/local/node #添加node_home變量
PATH=$PATH:$NODE_HOME/bin #把node_home變量添加到環(huán)境變量中
export PATH NOTH_HOME
source /etc/profile #重新加載環(huán)境變量配置文件
node -v #驗(yàn)證node.js是否安裝成功,如果能查看到版本號說明安裝成功
npm -v #驗(yàn)證npm工具是否安裝成功,如果能查看到版本號說明安裝成功

安裝elasticsearch-head插件

1、下載elasticsearch-head
下載地址:https://github.com/mobz/elasticsearch-head把源碼下載下來,下載的包名為:elasticsearch-head-master.zip,然后上傳到Linux主機(jī)上。

2、解壓elasticsearch-head源碼包
unzip elasticsearch-head-master.zip
mv elasticsearch-head-master /usr/local/es-head

3、安裝grunt工具
cd /usr/local/es-head #進(jìn)入elasticsearch-head插件的源碼目錄
npm install -g grunt --registry=https://registry.npm.taobao.org #安裝grunt工具,由于在國內(nèi)連接國外的鏡像速度奇慢無比,所以我們使用了國內(nèi)taobao的鏡像。

4、編譯elasticsearch-head源碼
npm install #使用npm編譯es-head源碼,但是建議大家不要用這個(gè)這種方式安裝,因?yàn)槭褂胣pm編譯源碼會下載很多依賴,這些依賴默認(rèn)到國外鏡像下載,所以速度會很慢,看下面的命令:
npm install -g cnpm --registry=https://registry.npm.taobao.org #安裝cnpm,這是鏈接中國的鏡像
cnpm install #使用cnpm代替npm編譯es-head源碼
編譯好后es-head根目錄下會出現(xiàn)一個(gè)叫node_modules的目錄,該目錄就是存放源碼編譯后的可執(zhí)行文件。
那到現(xiàn)在我們已經(jīng)把elasticsearch-head插件和它的依賴都安裝好了,那接下來我們就要對他的配置進(jìn)行修改,準(zhǔn)備運(yùn)行。

插件配置修改

1、設(shè)置插件管理界面跨主機(jī)訪問
插件默認(rèn)是只有本機(jī)的IP才能訪問的,也就是127.0.0.1,這樣我們就無法跨主機(jī)訪問head 插件的管理界面,所以需要把它改成所有IP地址都能訪問。該配置在head插件安裝目錄根目錄下,文件名為Gruntfile.js。
cd /usr/local/es-head
vi Gruntfile.js
在該配置文件中connect-server-options下添加hostname: '0.0.0.0',這個(gè)配置,這樣就不限制IP地址的訪問了,具體看以下配置文件截圖:

配置.png

注意:要把主機(jī)防火墻9100的端口打開,這里就不寫出打開防火墻端口的命令了,之前也說過很多了。

2、設(shè)置連接elasticsearch的地址
head插件默認(rèn)是連接本機(jī)的elasticsearch的,如果你的elasticsearch和head插件是安裝在同一臺主機(jī)上,那么就不需要修改配置,如果不是安裝在同一臺主機(jī)的,就必須修改配置了,配置文件在head插件安裝目錄的_site目錄下,文件名為app.js。
vi app.js #編輯app.js文件
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";這行配置中的localhost改成你elasticsearch服務(wù)所在IP地址(如果安裝在同一臺主機(jī)就不需要修改),具體看以下配置文件截圖:

配置3.png

3、elasticsearch配置允許跨域訪問
cd /usr/local/elasticsearch/config #進(jìn)入elasticsearch存放配置文件的目錄
vi elasticsearch.ym #編輯elasticsearch配置文件
在該配置文件中最末尾添加兩個(gè)屬性:http.cors.enabled: truehttp.cors.allow-origin: "*" 使head插件可以訪問elasticsearch,具體看以下配置文件截圖:

配置2.png

運(yùn)行和使用head插件

1、因?yàn)槲覀儎倓傂薷牧薳lasticsearch的配置,所以首先需要重啟elasticsearch

2、運(yùn)行head插件
cd /usr/local/es-head #先進(jìn)入到head插件的安裝目錄根目錄
grunt server #使用剛剛安裝的grunt工具運(yùn)行head插件
如果能打印以下的信息,那就說明head插件安裝并運(yùn)行成功,并且我們通過打印信息看到,它告訴我們可以通過localhost:9100訪問web服務(wù),該web服務(wù)就是head插件的管理界面,但是這個(gè)localhost要改成head插件所在的主機(jī)的具體IP地址。接下來我們就可以通過瀏覽器來訪問head插件的管理界面了,在這管理界面中管理我們的elasticsearch服務(wù)。

Running "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100

3、訪問head插件管理界面
我的head插件所在的IP地址為192.168.85.133,所以我在另一臺主機(jī)的瀏覽器地址欄輸入http://192.168.85.133:9100??吹降慕缑嫒缦拢?/p>

head管理界面.png

head插件功能

通過剛剛我們用瀏覽器訪問head插件看到的管理界面,大概可以知道它有幾塊功能塊:概述、索引、數(shù)據(jù)瀏覽、基本查詢、復(fù)合查詢這幾塊,我們一個(gè)一個(gè)來看看:
1、概述:
這個(gè)功能塊主要是用來管理elasticsearch集群狀況的,我們可以用圖形化界面來管理集群,查看集群中各個(gè)elasticsearch節(jié)點(diǎn)運(yùn)行狀態(tài)和節(jié)點(diǎn)的各種信息。后面我們學(xué)習(xí)elasticsearch集群再來詳細(xì)看看它的功能。

2、索引:
這部分功能塊是讓我們管理整個(gè)elasticsearch的索引的,它展示了索引的列表,并且我們可以在上面以圖形化的方式創(chuàng)建索引:


索引功能塊.png

3、數(shù)據(jù)瀏覽:
這部分功能塊顧名思義就是瀏覽elasticsearch中的數(shù)據(jù)的,我們可以查看整個(gè)elasticsearch所有數(shù)據(jù),也可以根據(jù)索引、類型、字段組合查詢出我們想要看的數(shù)據(jù),左邊藍(lán)色背景的界面就是用于查詢的,其中字段查詢是可以精確查詢和模糊查詢,右邊就是展示出具體的數(shù)據(jù)了。展示的數(shù)據(jù)列表中,有索引、類型和各個(gè)字段的數(shù)據(jù),在列表最上方還有顯示數(shù)據(jù)查詢所消耗的時(shí)間:


數(shù)據(jù)瀏覽.png

4、基本查詢:
基本查詢其實(shí)就相當(dāng)于我們基礎(chǔ)班學(xué)的高級查詢了,不過它的功能要強(qiáng)大很多,可以做各種組合查詢,其實(shí)就是以圖形化的界面來查詢數(shù)據(jù),不需要我們手動寫RESTful API去查詢,對于想要簡單快速查詢數(shù)據(jù)的情景下還是挺好用的,但是它只能做查詢搜索,不能創(chuàng)建、修改和刪除數(shù)據(jù),如果想要執(zhí)行這些操作,那就只能用下一個(gè)功能塊“復(fù)合查詢”了。


簡單查詢.png

5、復(fù)合查詢:
復(fù)合查詢就是發(fā)送RESTful API到elasticsearch服務(wù)執(zhí)行,然后它返回執(zhí)行結(jié)果給我們,所以,我們使用head管理界面中的復(fù)合查詢功能塊,就可以不需要postman了。


復(fù)合查詢.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容