Elasticsearch和Kibana安裝


Elasticsearch安裝

Elasticsearch 至少需要Java 8。在撰寫本文時,建議你使用Oracle JDK版本1.8.0_131。Java安裝因平台而異,所以在這里不再贅述。Oracle的推薦安裝文檔可以在Oracle的網站上找到在安裝 Elasticsearch 之前,請先檢查您的Java版本,然后再運行(如果需要,請相應地進行安裝/升級):

java -version
echo $JAVA_HOME

安裝了Java之后,下載並運行 Elasticsearch 這些二進制文件可以在www.elastic.co/downloads下載,與過去所有的所有版本一起提供。對於每個版本,您可以選擇一個ziptarDEBRPM包。

為了簡單起見,下載Elasticsearch 5.4.1 tar,方式如下(window用戶下載Elasticsearch 5.4.1 zip)

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.1.tar.gz

然后解壓縮如下

tar -xvf elasticsearch-5.4.1.tar.gz

然后進入bin目錄

cd elasticsearch-5.4.1 / bin

現在准備啟動我們的節點和單個集群(Windows用戶應該運行 Elasticsearch.bat文件)

./elasticsearch

如果一切順利,您應該會看到一堆如下所示的消息:

[2017-06-09T12:11:37,851][INFO ][o.e.n.Node               ] [] initializing ...
[2017-06-09T12:11:38,117][INFO ][o.e.e.NodeEnvironment    ] [9fzvF2H] using [1]data paths, mounts [[(D:)]], net usable_space [111.8gb], net total_space [123.5gb], spins? [unknown], types [NTFS]
[2017-06-09T12:11:38,117][INFO ][o.e.e.NodeEnvironment    ] [9fzvF2H] heap size[1.9gb], compressed ordinary object pointers [true]
[2017-06-09T12:11:38,117][INFO ][o.e.n.Node               ] node name [9fzvF2H]derived from node ID [9fzvF2HKTverLyZwFl6w0w]; set [node.name] to override
[2017-06-09T12:11:38,117][INFO ][o.e.n.Node               ] version[5.4.1], pid[3964], build[2cfe0df/2017-05-29T16:05:51.443Z], OS[Windows 7/6.1/amd64], JVM[Oracle Corporation/Java HotSpot(TM) 64-Bit Server VM/1.8.0_131/25.131-b11]
[2017-06-09T12:11:38,117][INFO ][o.e.n.Node               ] JVM arguments [-Xms2g, -Xmx2g, -XX:+UseConcMarkSweepGC, -XX:CMSInitiatingOccupancyFraction=75, -XX:+UseCMSInitiatingOccupancyOnly, -XX:+DisableExplicitGC, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djdk.io.permissionsUseCanonicalPath=true, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j.skipJansi=true, -XX:+HeapDumpOnOutOfMemoryError, -Delasticsearch, -Des.path.home=D:\ProgramFiles\elasticsearch-5.4.1]
[2017-06-09T12:11:39,193][INFO ][o.e.p.PluginsService     ] [9fzvF2H] loaded module [aggs-matrix-stats]
[2017-06-09T12:11:39,193][INFO ][o.e.p.PluginsService     ] [9fzvF2H] loaded module [ingest-common]
[2017-06-09T12:11:39,209][INFO ][o.e.p.PluginsService     ] [9fzvF2H] loaded module [lang-expression]
[2017-06-09T12:11:39,209][INFO ][o.e.p.PluginsService     ] [9fzvF2H] loaded module [lang-groovy]
[2017-06-09T12:11:39,209][INFO ][o.e.p.PluginsService     ] [9fzvF2H] loaded module [lang-mustache]
[2017-06-09T12:11:39,209][INFO ][o.e.p.PluginsService     ] [9fzvF2H] loaded module [lang-painless]
[2017-06-09T12:11:39,209][INFO ][o.e.p.PluginsService     ] [9fzvF2H] loaded module [percolator]
[2017-06-09T12:11:39,209][INFO ][o.e.p.PluginsService     ] [9fzvF2H] loaded module [reindex]
[2017-06-09T12:11:39,209][INFO ][o.e.p.PluginsService     ] [9fzvF2H] loaded module [transport-netty3]
[2017-06-09T12:11:39,209][INFO ][o.e.p.PluginsService     ] [9fzvF2H] loaded module [transport-netty4]
[2017-06-09T12:11:39,209][INFO ][o.e.p.PluginsService     ] [9fzvF2H] no plugins loaded
[2017-06-09T12:11:41,471][INFO ][o.e.d.DiscoveryModule    ] [9fzvF2H] using discovery type [zen]
[2017-06-09T12:11:42,032][INFO ][o.e.n.Node               ] initialized
[2017-06-09T12:11:42,032][INFO ][o.e.n.Node               ] [9fzvF2H] starting ...
[2017-06-09T12:11:43,171][INFO ][o.e.t.TransportService   ] [9fzvF2H] publish_address {127.0.0.1:9300}, bound_addresses {127.0.0.1:9300}, {[::1]:9300}
[2017-06-09T12:11:46,248][INFO ][o.e.c.s.ClusterService   ] [9fzvF2H] new_master{9fzvF2H}{9fzvF2HKTverLyZwFl6w0w}{yMmmD0nORKqEmQ0lrqKu3Q}{127.0.0.1}{127.0.0.1:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)
[2017-06-09T12:11:46,280][INFO ][o.e.g.GatewayService     ] [9fzvF2H] recovered[0] indices into cluster_state
[2017-06-09T12:11:46,919][INFO ][o.e.h.n.Netty4HttpServerTransport] [9fzvF2H] publish_address {127.0.0.1:9200}, bound_addresses {127.0.0.1:9200}, {[::1]:9200}
[2017-06-09T12:11:46,919][INFO ][o.e.n.Node               ] [9fzvF2H] started

沒有太多細節,我們可以看到,我們的名為"9fzvF2H"的節點(在您的情況下將是一組不同的字符)已經啟動並在單個集群中將其選為 master  。此時先不用在意 master 是什么意思。最重要的是我們已經在一個集群中啟動了一個節點。

如前所述,我們可以修改集群或節點名稱。這可以在啟動 Elasticsearch 時從命令行完成,如下所示:

./elasticsearch -Ecluster.name = my_cluster_name -Enode.name = my_node_name

比如,  D:\ProgramFiles\elasticsearch-5.4.1\bin\elasticsearch.bat -Ecluster.name=my_cluster -Enode.name=node_1 

還要注意標有http的行,該信息提示我們的節點可以通過HTTP地址(127.0.0.1)和port(9200)被訪問。默認情況下, Elasticsearch 使用端口9200來提供對其REST API的訪問。如果需要,該端口是可配置的。

在瀏覽器中輸入: http://127.0.0.1:9200/ ,返回如下信息,表示安裝成功。

{
  "name" : "9fzvF2H",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "xBoSQEYqQSaJjzzpmAj7aw",
  "version" : {
    "number" : "5.4.1",
    "build_hash" : "2cfe0df",
    "build_date" : "2017-05-29T16:05:51.443Z",
    "build_snapshot" : false,
    "lucene_version" : "6.5.1"
  },
  "tagline" : "You Know, for Search"
}

探索集群

REST API

現在我們的節點(和群集)啟動並運行,接下來的步驟是了解如何與它進行通信。幸運的是, Elasticsearch 提供了一個非常全面和強大的REST API,您可以使用它來與群集進行交互。API可以完成的幾件事情如下:

  • 檢查您的群集,節點和索引運行狀況,狀態和統計信息
  • 管理您的集群,節點和索引數據和元數據
  • 執行CRUD(創建,讀取,更新和刪除)並針對索引進行搜索操作
  • 執行高級搜索操作,如分頁,排序,過濾,腳本,聚合等等

Kibana

 Kibana 是一個開源分析和可視化平台,旨在可視化操作 Elasticsearch Kibana可以用來搜索,查看和與存儲在 Elasticsearch 索引中的數據進行交互。可以輕松地進行高級數據分析,並可在各種圖表,表格和地圖中顯示數據。

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

安裝Kibana簡單快速。您可以安裝 Kibana ,並在幾分鍾內開始探索您的 Elasticsearch 索引 - 不需要代碼,也不需要需額外的基礎架構。

安裝Kibana

本節包括安裝 Kinbana ,以及配置和運行

支持的平台

提供 Kibana 軟件包,並針對Linux,Darwin和Windows進行測試。由於Kibana運行在Node.js上,所以我們為這些平台添加了必要的Node.js二進制文件。不支持單獨維護版本的Node.js來運行Kibana。

Elasticsearch版本

應將 Kibana 配置為和 Elasticsearch 節點運行的版本相同。這是官方支持的配置。

不支持運行不同主版本的 Kibana 和 Elasticsearch (例如 Kibana 5.x 和 Elasticsearch 2.x ), Kibana 的次要版本比 Elasticsearch 的次要版本(例如 Kibana 5.1 和 Elasticsearch5.0)高也不支持。

 Elasticsearch 的次要版本比kibana的次要版本高通常會起作用,不過這樣只是為了滿足首先升級 Elasticsearch ,然后升級kibana的需要,(例如 Kibana 5.0 和 Elasticsearch 5.1 )。在這種配置中, Kibana 服務器啟動時將會記錄一個警告,因此兩個版本不一致的情況只是暫時的,為了不記錄警告,還得將 Kibana 升級到與 Elasticsearch 相同的版本。

一般情況下,支持運行Kibana和 Elasticsearch 的不同補丁版本(例如 Kibana 5.0.0 和 Elasticsearch 5.0.1 ),盡管我們鼓勵用戶下載Kibana和 Elasticsearch 的相同補丁版本。

安裝包

Kibana提供以下格式的安裝包:

如果您的Elasticsearch安裝受X-Pack安全保護, 請參閱使用Kibana與X-Pack Security進行其他安裝說明。

在windows上安裝Kibana

最新的穩定版本的Kibana可以在下載Kibana頁面找到 其他版本可以在過去版本頁面找到 

解壓縮。這將創建一個名為kibana-5.4.1-windows-x86的文件夾,我們將其稱為$KIBANA_HOME在終端窗口中,CD$KIBANA_HOME目錄下的bin,例如:

D:\>cd D:\ProgramFiles\kibana-5.4.1-windows-x86\bin

從命令行運行Kibana

kibana

出現以下日志

D:\ProgramFiles\kibana-5.4.1-windows-x86\bin>kibana
  log   [07:29:47.631] [info][optimize] Optimizing and caching bundles for kibana, timelion and status_page. This may take a few minutes
  log   [07:31:43.968] [info][optimize] Optimization of bundles for kibana, timelion and status_page complete in 116.34 seconds
  log   [07:31:44.030] [info][status][plugin:kibana@5.4.1] Status changed from uninitialized to green - Ready
  log   [07:31:44.124] [info][status][plugin:elasticsearch@5.4.1] Status changed from uninitialized to yellow - Waiting for Elasticsearch
  log   [07:31:44.155] [info][status][plugin:console@5.4.1] Status changed from uninitialized to green - Ready
  log   [07:31:44.170] [info][status][plugin:metrics@5.4.1] Status changed from uninitialized to green - Ready
  log   [07:31:44.373] [info][status][plugin:timelion@5.4.1] Status changed from uninitialized to green - Ready
  log   [07:31:44.389] [info][listening] Server running at http://localhost:5601
  log   [07:31:44.389] [info][status][ui settings] Status changed from uninitialized to yellow - Elasticsearch plugin is yellow
  log   [07:31:49.435] [info][status][plugin:elasticsearch@5.4.1] Status changed from yellow to yellow - No existing Kibana index found
  log   [07:31:50.000] [info][status][plugin:elasticsearch@5.4.1] Status changed from yellow to green - Kibana index ready
  log   [07:31:50.000] [info][status][ui settings] Status changed from yellow to green - Ready

在瀏覽器中輸入: http://localhost:5601 ,出現界面表示安裝成功。

集群健康

讓我們先從基礎的健康檢查開始,我們可以使用它去了解我的集群是如何運作的。我們將會使用上面安裝的kibana控制台去做這個實驗,不過你也可以使用任何一個支持HTTP/REST的工具調用接口,比如curl。假如我們繼續使用剛剛啟動的 Elasticsearch 節點。

為了檢查集群監控,我們需要使用  _cat  API。在Kibana控制台中運行命令 GET /_cat/health?v 。

返回內容如下:

epoch      timestamp cluster       status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1496995261 16:01:01  elasticsearch yellow          1         1      1   1    0    0        1             0                  -                 50.0%

可以看到名為 elasticsearch 的集群已經處於黃色狀態。 每當我們查詢集群健康情況時,接口可能會返回green,yellow或red狀態。green意味着一切良好(集群所有的功能都正常)。yellow意味着所有的數據都是可用的,但是一些復制分片可能沒有正確分發(集群的所有功能還是正常的)。red意味着因為某些原因導致有些數據不能使用。注意,即使集群狀態是red,它仍然可以運行一部分的功能。(例如,它依然可以從一些可用的分片處理搜索請求)但你應該盡快去修復它,因為這樣會使搜索結果丟失一些數據。

從上面的響應中,可以看到集群名稱為 elasticsearch ,只有1個節點,有1個數據,1個分片。注意,由於我們使用默認的群集名稱( Elasticsearch ),並且由於 Elasticsearch 默認使用單播網絡來查找同一台計算機上的其他節點,因此可能會意外啟動計算機上的多個節點,並使它們都加入同一個群集。在這種情況下,您可能會在上述響應中看到超過1個節點。

也可以得到集群中節點列表,如下:

GET /_cat/nodes?v

返回內容如下:

ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
127.0.0.1 8 84 4 mdi * 9fzvF2H

可以看到集群中只有一個名叫"9fzvF2H"的節點。

總結

1、什么是kibana?對於目前來說,就是一個可視化界面,方便寫代碼對ES進行操作。

2、ES和kibana怎么安裝?在windows上,直接下載壓縮包,解壓后進入bin目錄,運行Elasticsearch.bat和kibana.bat即可。

3、快速檢查集群的健康狀況, GET /_cat/health?v 

4、集群的健康值理解

  • green:每個索引的primary shard和replica shard都是active狀態的
  • yellow:每個索引的primary shard都是active狀態的,但是部分replica shard不是active狀態(比如單台機器上副本無法被分配),處於不可用的狀態
  • red:不是所有索引的primary shard都是active狀態的,部分索引有數據丟失了

5、查看所有節點, GET /_cat/nodes?v 

官方文檔

https://www.elastic.co/guide/en/elasticsearch/reference/current/_installation.html

https://www.elastic.co/guide/en/elasticsearch/reference/current/_exploring_your_cluster.html

https://www.elastic.co/guide/en/elasticsearch/reference/current/_cluster_health.html

https://www.elastic.co/guide/en/kibana/5.4/introduction.html

https://www.elastic.co/guide/en/kibana/5.4/setup.html

https://www.elastic.co/guide/en/kibana/5.4/install.html

https://www.elastic.co/guide/en/kibana/5.4/windows.html

參考文檔

https://github.com/13428282016/elasticsearch-CN/wiki/es-gettting-started


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM