Elasticsearch 7.x 最詳細安裝及配置html
小馬哥說過,學習技術棧得看版本,那麼 Elasticsearch 7.x 有什麼好的特性呢?java
ES 7.0 是 2019 年 4 月份發佈的,底層是 Lucene 8.0。其餘還有須要瞭解的是:node
下載地址:https://www.elastic.co/cn/downloads/elasticsearch瀏覽器
如圖,下載對應須要的 ES 。我這邊是 MacOS ,因此直接下載了 MacOS 的本。另外 ES 支持 Docker 方式啓動。另外,ES 7.x 不須要本地 JDK 環境支持:安全
下載完後,ES 文件目錄結構以下圖所示:性能優化
Elasticsearch 7.2.1 目錄結構以下:jvm
具體看看關鍵的 jvm.options JVM 配置文件,默認配置以下:socket
-Xms1g -Xmx1g
ES 默認安裝後設置的堆內存是 1 GB,對於任何業務來講這個設置確定是少了。那設置多少?elasticsearch
推薦:若是足夠的內存,也儘可能不要 超過 32 GB。即每一個節點內存分配不超過 32 GB。 由於它浪費了內存,下降了 CPU 的性能,還要讓 GC 應對大內存。若是你想保證其安全可靠,設置堆內存爲 31 GB 是一個安全的選擇。ide
上述推薦,理由來自《堆內存:大小和交換編輯》:https://www.elastic.co/guide/cn/elasticsearch/guide/current/heap-sizing.html
啓動方式很簡單,在 ES 根目錄下面,執行啓動腳本文件:
cd elasticsearch-7.2.1 bin/elasticsearch
運行完後,會出現下面的日誌:
future versions of Elasticsearch will require Java 11; your Java version from [/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre] does not meet this requirement ... 省略 [2019-08-16T16:29:53,069][INFO ][o.e.n.Node ] [BYSocketdeMacBook-Pro-2.local] started [2019-08-16T16:29:53,478][INFO ][o.e.l.LicenseService ] [BYSocketdeMacBook-Pro-2.local] license [ef60f54d-4964-4cb6-98ac-aafdc0f2a4c0] mode [basic] - valid [2019-08-16T16:29:53,491][INFO ][o.e.g.GatewayService ] [BYSocketdeMacBook-Pro-2.local] recovered [0] indices into cluster_state [2019-08-16T16:30:23,057][INFO ][o.e.c.r.a.DiskThresholdMonitor] [BYSocketdeMacBook-Pro-2.local] low disk watermark [85%] exceeded on [DRs4DZO0SzCaYz3n3vA3Fg][BYSocketdeMacBook-Pro-2.local][/javaee/es/elasticsearch-7.2.1/data/nodes/0] free: 49.2gb[10.6%], replicas will not be assigned to this node
日誌中有兩個信息須要注意:
打開瀏覽器,輸入 http://localhost:9200/ 地址,而後能夠獲得下面的信息:
{ "name": "BYSocketdeMacBook-Pro-2.local", "cluster_name": "elasticsearch", "cluster_uuid": "tc9h17oqSHKvGJb3qK2tPg", "version": { "number": "7.2.1", "build_flavor": "default", "build_type": "tar", "build_hash": "fe6cb20", "build_date": "2019-07-24T17:58:29.979462Z", "build_snapshot": false, "lucene_version": "8.0.0", "minimum_wire_compatibility_version": "6.8.0", "minimum_index_compatibility_version": "6.0.0-beta1" }, "tagline": "You Know, for Search" }
重點幾個關注下便可:
一樣經過 http://localhost:9200/_cat/nodes?v 地址,能夠看到當前節點信息,以下:
127.0.0.1 30 100 22 2.87 mdi * BYSocketdeMacBook-Pro-2.local
單機多個 ES 實例,造成一個 ES 單機僞集羣,啓動腳本以下:
bin/elasticsearch -E node.name=node01 -E cluster.name=bysocket_es_cluster -E path.data=node01_data -d bin/elasticsearch -E node.name=node02 -E cluster.name=bysocket_es_cluster -E path.data=node02_data -d bin/elasticsearch -E node.name=node03 -E cluster.name=bysocket_es_cluster -E path.data=node03_data -d bin/elasticsearch -E node.name=node04 -E cluster.name=bysocket_es_cluster -E path.data=node04_data -d
命令簡單解釋以下:
執行完腳本後,須要等一會 ES 啓動,也能夠查看 logs 看看執行狀況。
打開瀏覽器,輸入 http://localhost:9200/_cat/nodes?v 地址,能夠看到啓動狀況:node01 爲當前 master 節點
如何關閉集羣中的 ES 實例,可使用簡單的命令實現:
ps | grep elasticsearch kill -9 pid
插件是用來加強 Elasticsearch 功能的方法,分爲 核心插件(官方) & 社區插件。
安裝 analysis-icu ICU 分析插件,命令以下:
sudo bin/elasticsearch-plugin install analysis-icu
查看已安裝的插件,命令以下:
bin/elasticsearch-plugin list
刪除已安裝的插件,命令以下:
sudo bin/elasticsearch-plugin remove analysis-icu
本文介紹了兩種安裝以及插件安裝,由於方便學習集羣相關的知識點。另外注意 JVM 配置相關的優化便可。後續繼續 Elasticsearch 7.x 操做學習 ~
(完)原創不易,幫轉 ~
資料: