ElasticSearch & Kibana版本選擇與安裝

序言

由於Elasticsearch的功能強大和使用簡單,維基百科、衛報、Stack Overflow、GitHub等都紛紛採用它來做搜索。現在,Elasticsearch已成為全文搜索領域的主流軟件之一。


下面將介紹Elasticsearch和Kibana的安裝與簡單使用。

版本選擇

在決定使用 Elasticsearch 的時候首先要考慮的是版本問題,Elasticsearch 目前有三個常用的穩定的主版本:2.x,5.x,6.x(排除 0.x 和 1.x)。

Elasticsearch 可以在這裡查看所有歷史版本,博主寫這篇博文的時候最新的是 Elasticsearch 6.4.2。你可能會發現沒有 3.x 和 4.x,ES 從 2.4.6 直接跳到了 5.0.0。這是為什麼?

其實是為了ELK(ElasticSearch, logstash, kibana)技術棧的版本統一,免的給用戶帶來混亂。

我們知道 elasticsearch,kibana,logstash 都是 Elastic Stack 成員, 而且很多時候都是配合使用,那麼為了協同開發,避免造成版本困惑,所以需要統一版本,至少保持在一個主版本號下。

在 Elasticsearch 是 2.x (2.x 的最後一版 2.4.6 的發佈時間是 July 25, 2017) 的情況下,kibana 已經是 4.x(Kibana 4.6.5 的發佈時間是 July 25, 2017),那麼在 kibana 的下一主版本肯定是 5.x 了,所以 Elasticsearch 直接將自己的主版本發佈為 5.0.0 了。統一之後,我們選版本就不會猶豫困惑了,我們選定 elasticsearch 的版本後再選擇相同版本的 kibana 就行了,不用擔憂版本不兼容的問題。

版本選擇可以從以下幾個方面考慮:

  • 版本問題
    2.x 版本較老,無法體驗新功能,且性能不如 5.x。

6.x 版本有點新,網上資料相對比較少(開發時間充足的可以研究)。

  • 數據遷移
    2.x 版本數據可以直接遷移到 5.x;

5.X 版本的數據可以直接遷移到 6.x; 但是 2.x 版本數據無法直接遷移到 6.x。

  • 周邊工具
    2.x 版本週邊工具版本比較混亂;Kibana 等工具的對應版本需要自己查,不好匹配。

5.x 之後 Kibana 等工具的主版本號進行了統一。

  • Sql 語法支持
    2.x,5.x,6.x 都可以安裝 Elasticsearch-sql 插件,使用熟悉的SQL語法查詢 Elasticsearch。

6.3.0 以後內置支持 SQL 模塊,這個 SQL 模塊是屬於 X-Pack 的一部分。

通過以上的版本號瞭解之後,綜合考慮,我起始選擇了 elasticsearch 6.4.0版本,其實主要是因為它新,kibana 也選擇了 kibana 6.4.0。但是等本地開發完成準備部署的時候,運維通知切換到5.6.0,因為公司其他部門的是5.6.0,方便統一維護,還好 API 變化不大。

環境搭建

本地安裝 Elasticsearch

Elasticsearch5.0之後的版本至少需要Java 8。可通過如下命令檢查Java版本,然後根據需要進行相應的安裝/升級。

<code>java -versionecho $ JAVA_HOME/<code>

你可以從 elastic.co/download 下載你需要的版本的Elasticsearch,解壓之後即可使用。

如果是集群形式的,可在 ...\\elasticsearch-5.6.0\\config\\elasticsearch.yml中配置一些你的集群信息:

<code>cluster.name: my-application   # 集群名稱path.data: /path/to/data       # ES數據存儲路徑path.logs: /path/to/logs       # ES日誌存儲路徑node.name: node-1              # 當前節點的名稱network.host: 192.168.0.1      # 配置當前結點綁定的IP地址,可設置為0.0.0.0http.port: 9200                # 設置對外服務的HTTP端口,默認為9200/<code>

運行 Elasticsearch

elasticsearch 準備好之後,在安裝目錄中執行以下命令可以啟動運行:

Linux

<code>./bin/elasticsearch/<code>

Windows

<code>D:\\...\\elasticsearch-6.4.0\\bin\\elasticsearch.bat/<code>

運行成功之後(啟動日誌裡面會有.. started標誌),瀏覽器訪問http://localhost:9200/?pretty,你能看到類似以下返回信息(各版本稍微不同):

<code>{  "name" : "AGXQ3qy",  "cluster_name" : "elasticsearch",  "cluster_uuid" : "mg9t4Yi2TRud1JNwRY0bPA",  "version" : {    "number" : "6.4.0",    "build_flavor" : "default",    "build_type" : "zip",    "build_hash" : "595516e",    "build_date" : "2018-08-17T23:18:47.308994Z",    "build_snapshot" : false,    "lucene_version" : "7.4.0",    "minimum_wire_compatibility_version" : "5.6.0",    "minimum_index_compatibility_version" : "5.0.0"  },  "tagline" : "You Know, for Search"}/<code>

或者檢查Elasticsearch是否正在運行:

<code>curl http://localhost:9200//<code>
ElasticSearch & Kibana版本選擇與安裝

檢查Elasticsearch是否正在運行

這說明你的 Elasticsearch 集群已經啟動成功並且正常運行,接下來我們可以開始使用了。

Docker安裝

  • elasticsearch
  • <code>docker search elasticsearch/<code>
    ElasticSearch & Kibana版本選擇與安裝

    docker search elasticsearc搜索結果

    <code>docker pull elasticsearch:6.4.0/<code>
    <code>docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.4.0/<code>

    可視化 web 界面

    由於 Elasticsearch 的交互方式是 Rest 形式的,這種不是很直觀方便,我們先安裝圖視化界面,方便我們操作。可選擇的目前主要有 elasticsearch-head 和 kibana。

    elasticsearch-head

    elasticsearch-head 是一個用於瀏覽和與 elasticsearch 集群交互的Web前端。elasticsearch-head 是 elasticsearch 集群管理、數據可視化、增刪查改、查詢語句可視化工具。elasticsearch head 是託管的,可以在 github 下載或 fork。

    有兩種運行和安裝elasticsearch-head的方法:

    作為ElasticSearch的插件運行(這是首選方法)

    1. elasticsearch/bin/elasticsearch-plugin -install mobz/elasticsearch-head。
    2. open http://localhost:9200/_plugin/head/。

    注意

    插件的安裝方法,5.0之前為 plugin -install …,而在 5.0 以後為 elasticsearch-plugin -install …。

    作為獨立的webapp運行

    1. git clone git://github.com/mobz/elasticsearch-head.git。
    2. 在瀏覽器中打開 index.html。現代瀏覽器需要使用 es-head。
    3. 默認情況下,es-head 將嘗試連接到http:// localhost:9200 /的集群節點。
      在連接框中輸入不同的節點地址,如果需要,單擊“連接”。

    成功後的界面如下,可以看到集群的狀態信息

    由於 Head 安裝起來比較麻煩( 需要安裝 node.js ),網上資料也很多,所以我就不詳細說了,更多信息可參考:elasticsearch-head

    kibana

    Kibana 和 elasticsearch 同屬於 elastic 公司。 Kibana是一個開源分析和可視化平臺,旨在與Elasticsearch協同工作。您使用Kibana搜索,查看和與存儲在 Elasticsearch 索引中的數據進行交互。您可以輕鬆地執行高級數據分析,並在各種圖表,表格和地圖中可視化您的數據。

    Kibana 提供搜索、查看和與存儲在 Elasticsearch 索引中的數據進行交互的功能。開發者或運維人員可以輕鬆地執行高級數據分析,並在各種圖表、表格和地圖中可視化數據。   

    本地安裝

    你可以從 elastic 的官網 https://www.elastic.co/downloads/kibana 獲取最新版本的Kibana。解壓文檔後,按照下面的操作,即可在前臺(foregroud)啟動Kibana:

    <code>cd kibana-<version>
    ./bin/kabana/<version>/<code>

    Kibana 使您可以輕鬆理解大量數據。其簡單的基於瀏覽器的界面使您能夠快速創建和共享動態儀表板,實時顯示 Elasticsearch 查詢的更改。

    設置 Kibana 非常容易。您可以安裝 Kibana 並在幾分鐘內開始探索您的 Elasticsearch 索引 - 無需代碼,無需額外的基礎架構。

    同樣可在 kibana 選擇需要的對應版本(與 elasticsearch 版本對應),然後下載解壓即可使用,具體步驟如下:

    • 下載並解壓縮 Kibana。
    • 在編輯器中打開 config / kibana.yml。
    • 設置 elasticsearch.url 為您的Elasticsearch實例,如本地:elasticsearch.url: "http://localhost:9200"。
    • 運行 bin/kibana(或binkibana.bat在Windows上)。
    • 瀏覽器輸入 http:// localhost:5601。
    ElasticSearch & Kibana版本選擇與安裝

    Kibana安裝運行圖

    如果運行成功,但是無法訪問,可以關閉防火牆再試試。

    Docker安裝Kibana

    <code>docker search kibana/<code>
    ElasticSearch & Kibana版本選擇與安裝

    docker search kibana搜索結果

    <code>docker pull kibana:6.4.0/<code>
    <code>docker run --name kibana -e ELASTICSEARCH_URL=http://{你的host}:9200 -p 5601:5601 -d kibana:6.4.0/<code>
    ElasticSearch & Kibana版本選擇與安裝

    Kibana運行圖

    結束語

    到此Elasticsearch和kibana都已經安裝完畢了,大家有什麼疑問或者安裝遇到的問題可以關注私信我,我會抽出時間來給你一一解答,喜歡的可以收藏並轉發啊。下面會分享一些ES的使用等。


    分享到:


    相關文章: