天天看點

Elastic search之介紹和安裝Elastic search之介紹和安裝

Elastic search之介紹和安裝

Elasticsearch是一個需要安裝配置的軟體。

ELK技術棧說明

Elastic有一條完整的産品線:Elasticsearch、Logstash、Kibana等,前面說的三個就是大家常說的ELK技術棧(開源實時日志分析平台)。

Elastic search之介紹和安裝Elastic search之介紹和安裝

Logstash 的作用就是一個資料收集器,将各種格式各種管道的資料通過它收集解析之後格式化輸出到Elasticsearch ,最後再由Kibana 提供的比較友好的 Web 界面進行彙總、分析、搜尋。

ELK 内部實際就是個管道結構,資料從 Logstash 到 Elasticsearch 再到 Kibana 做可視化展示。這三個元件各自也可以單獨使用,比如 Logstash 不僅可以将資料輸出到Elasticsearch ,也可以到資料庫、緩存等

簡介

Elastic

Elastic官網:https://www.elastic.co/cn/

Elastic有一條完整的産品線:Elasticsearch、Logstash、Kibana等,前面說的三個就是大家常說的ELK技術棧。

Elastic有一條完整的産品線:Elasticsearch、Logstash、Kibana等,前面說的三個就是大家常說的ELK

Elasticsearch

Elasticsearch官網:https://www.elastic.co/cn/products/elasticsearch

功能:

分布式的搜尋引擎:百度、Google、站内搜尋

全文檢索:提供模糊搜尋等自動度很高的查詢方式,并進行相關性排名,高亮等功能

資料分析引擎(分組聚合):電商網站—一周内手機銷量Top10

對海量資料進行近乎實時處理:水準擴充,每秒鐘可處理海量事件,同時能夠自動管理索引和查詢在叢集中的分布方式,以實作極其流暢的操作。

如上所述,Elasticsearch具備以下特點:

​ 高速、擴充性、最相關的搜尋結果

  • 分布式:節點對外表現對等,每個節點都可以作為入門,加入節點自動負載均衡
  • JSON:輸入輸出格式是JSON
  • Restful風格,一切API都遵循Rest原則,容易上手
  • 近實時搜尋,資料更新在Elasticsearch中幾乎是完全同步的,資料檢索近乎實時
  • 安裝友善:沒有其它依賴,下載下傳後安裝很友善,簡單修改幾個參數就可以搭建叢集
  • 支援超大資料:可以擴充到PB級别的結構化和非結構化資料

安裝和配置

為了快速看到效果我們直接在本地window下安裝Elasticsearch。環境要求:JDK8及以上版本

第一步:把準備好的軟體放到一個沒有中文沒有空格的位置,解壓即可

Elastic search之介紹和安裝Elastic search之介紹和安裝

第二步:修改配置檔案

1、修改索引資料和日志資料存儲的路徑

Elastic search之介紹和安裝Elastic search之介紹和安裝

第33行和37行,修改完記得把注釋打開

path.data: E:\class\es\data
#
# Path to log files:
#
path.logs: E:\class\es\logs
           

第三步:進入bin目錄中直接輕按兩下 圖下的指令檔案。

Elastic search之介紹和安裝Elastic search之介紹和安裝

如果啟動失敗,需要修改虛拟機記憶體的大小找到jvm.options檔案 如圖修改

  • Xms 是指設定程式啟動時占用記憶體大小。一般來講,大點,程式會啟動的快一點,但是也可能會導緻機器暫時間變慢。
  • Xmx 是指設定程式運作期間最大可占用的記憶體大小。如果程式運作需要占用更多的記憶體,超出了這個設定值,就會抛出OutOfMemory異常。
Elastic search之介紹和安裝Elastic search之介紹和安裝

通路

Elastic search之介紹和安裝Elastic search之介紹和安裝

可以看到綁定了兩個端口:

9300:叢集節點間通訊接口,接收tcp協定

9200:用戶端通路接口,接收Http協定

我們在浏覽器中通路:http://127.0.0.1:9200

Elastic search之介紹和安裝Elastic search之介紹和安裝

安裝kibana

什麼是Kibana

Kibana是一個基于Node.js的Elasticsearch索引庫資料統計工具,可以利用Elasticsearch的聚合功能,生成各種圖表,如柱形圖,線狀圖,餅圖等。

而且還提供了操作Elasticsearch索引資料的控制台,并且提供了一定的API提示,非常有利于我們學習Elasticsearch的文法。

安裝

因為Kibana依賴于node,需要在windows下先安裝Node.js

一路下一步即可安裝成功,然後在任意DOS視窗輸入名:

node -v
           
Elastic search之介紹和安裝Elastic search之介紹和安裝

然後安裝kibana,最新版本與elasticsearch保持一緻

配置運作

進入安裝目錄下的config目錄,修改kibana.yml檔案的第21行(注釋放開即可):

Elastic search之介紹和安裝Elastic search之介紹和安裝

修改elasticsearch伺服器的位址:

elasticsearch.url: "http://localhost:9200"
           

進入安裝目錄下的bin目錄:

Elastic search之介紹和安裝Elastic search之介紹和安裝

輕按兩下運作:

Elastic search之介紹和安裝Elastic search之介紹和安裝

發現kibana的監聽端口是5601

我們通路:http://127.0.0.1:5601

控制台

選擇左側的DevTools菜單,即可進入控制台頁面:

Elastic search之介紹和安裝Elastic search之介紹和安裝

在頁面右側,我們就可以輸入請求,通路Elasticsearch了。

Elastic search之介紹和安裝Elastic search之介紹和安裝

安裝ik分詞器

Lucene的IK分詞器早在2012年已經沒有維護了,現在我們要使用的是在其基礎上維護更新的版本,并且開發為Elasticsearch的內建插件了,與Elasticsearch一起維護更新,版本也保持一緻

https://github.com/medcl/elasticsearch-analysis-ik

安裝

  1. 解壓elasticsearch-analysis-ik-6.2.4.zip後,将解壓後的檔案夾拷貝到elasticsearch-6.2.4\plugins下,并重命名檔案夾為ik
Elastic search之介紹和安裝Elastic search之介紹和安裝
  1. 重新啟動ElasticSearch,即可加載IK分詞器

測試

先不管文法,我們先測試一波。

在kibana控制台輸入下面的請求:

Elastic search之介紹和安裝Elastic search之介紹和安裝
GET _analyze
{
  "analyzer": "ik_max_word",
  "text": "我是中國人"
}
           

運作得到結果:

{
  "tokens": [
    {
      "token": "我",
      "start_offset": 0,
      "end_offset": 1,
      "type": "CN_CHAR",
      "position": 0
    },
    {
      "token": "是",
      "start_offset": 1,
      "end_offset": 2,
      "type": "CN_CHAR",
      "position": 1
    },
    {
      "token": "中國人",
      "start_offset": 2,
      "end_offset": 5,
      "type": "CN_WORD",
      "position": 2
    },
    {
      "token": "中國",
      "start_offset": 2,
      "end_offset": 4,
      "type": "CN_WORD",
      "position": 3
    },
    {
      "token": "國人",
      "start_offset": 3,
      "end_offset": 5,
      "type": "CN_WORD",
      "position": 4
    }
  ]
}
           
GET _analyze
{
  "analyzer": "ik_smart",
  "text": "我是中國人"
}
           

結果:

{
  "tokens": [
    {
      "token": "我",
      "start_offset": 0,
      "end_offset": 1,
      "type": "CN_CHAR",
      "position": 0
    },
    {
      "token": "是",
      "start_offset": 1,
      "end_offset": 2,
      "type": "CN_CHAR",
      "position": 1
    },
    {
      "token": "中國人",
      "start_offset": 2,
      "end_offset": 5,
      "type": "CN_WORD",
      "position": 2
    }
  ]
}
           

安裝Head插件

elasticsearch-head 簡介

elasticsearch-head是一個界面化的叢集操作和管理工具,可以對叢集進行傻瓜式操作。可以通過插件把它內建到es(首選方式),也可以安裝成一個獨立webapp。

es-head主要有三個方面的操作:

  1. 顯示叢集的拓撲,并且能夠執行索引和節點級别操作
  2. 搜尋接口能夠查詢叢集中原始json或表格格式的檢索資料
  3. 能夠快速通路并顯示叢集的狀态

官方的文檔: https://github.com/mobz/elasticsearch-head

elasticsearch-head 安裝

(1)直接下載下傳壓縮包,位址:https://files.cnblogs.com/files/sanduzxcvbnm/elasticsearch-head.7z

(2)解壓

(3)在谷歌浏覽器中點選“加載已解壓的壓縮程式”,找到elasticsearch-head檔案夾,點選打開即可進行安裝。

Elastic search之介紹和安裝Elastic search之介紹和安裝
Elastic search之介紹和安裝Elastic search之介紹和安裝
Elastic search之介紹和安裝Elastic search之介紹和安裝

繼續閱讀