Elasticsearch 7.x 安裝及配置指導
Elasticsearch可以用於搜尋各種文件。它提供可擴充套件的搜尋,具有接近實時的搜尋,並支援多租戶。”Elasticsearch是分散式的,這意味著索引可以被分成分片,每個分片可以有0個或多個副本。 |
小馬哥說過,學習技術棧得看版本,那麼 Elasticsearch 7.x 有什麼好的特性呢?
ES 7.0 是 2019 年 4 月份釋出的,底層是 Lucene 8.0。其他還有需要了解的是:
– 廢除單個索引下多 Type 的支援
– ES Security 免費使用
– ECK – ES Operator on K8s
– 新功能:New Cluster coordination
– 新功能:完整的 High Level REST Client
– 新功能:Script Score Query
– 效能:預設 Primary Shard 數從 5 到 1 ,避免 Over Sharding;效能最佳化更快的 Top K
下載地址:
如圖,下載對應需要的 ES 。我這邊是 MacOS ,所以直接下載了 MacOS 的本。另外 ES 支援 Docker 方式啟動。另外,ES 7.x 不需要本地 JDK 環境支援:
ES 5,安裝需要 JDK 8 以上
ES 6.5,安裝需要 JDK 11 以上
ES 7.2.1,內建了 JDK 12
下載完後,ES 檔案目錄結構如下圖所示:
Elasticsearch 7.2.1 目錄結構如下:
bin : 檔案,包括 ES 啟動 & 安裝外掛等等
config : elasticsearch.yml(ES 配置檔案)、jvm.options(JVM 配置檔案)、日誌配置檔案等等
JDK : 內建的 JDK,JAVA_VERSION=”12.0.1″
lib : 類庫
logs : 日誌檔案
modules : ES 所有模組,包括 X-pack 等
plugins : ES 已經安裝的外掛。預設沒有外掛
data : ES 啟動的時候,會有該目錄,用來儲存文件資料。該目錄可以設定
具體看看關鍵的 jvm.options JVM 配置檔案,預設配置如下:
-Xms1g -Xmx1g
ES 預設安裝後設定的堆記憶體是 1 GB,對於任何業務來說這個設定肯定是少了。那設定多少?
推薦:如果足夠的記憶體,也儘量不要 超過 32 GB。即每個節點記憶體分配不超過 32 GB。 因為它浪費了記憶體,降低了 CPU 的效能,還要讓 GC 應對大記憶體。如果你想保證其安全可靠,設定堆記憶體為 31 GB 是一個安全的選擇。
上述推薦,理由來自《堆記憶體:大小和交換編輯》:https://www.elastic.co/guide/cn/elasticsearch/guide/current/heap-sizing.html
2.2 啟動 Elasticsearch 7.2.1
啟動方式很簡單,在 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
日誌中有兩個資訊需要注意:
本機環境是 JDK 8 ,它會提醒後面版本需要 JDK 11 支援。但它是向下相容的
表示本機 ES 啟動成功 [BYSocketdeMacBook-Pro-2.local] started
2.3 驗證是否啟動成功
開啟瀏覽器,輸入 地址,然後可以得到下面的資訊:
{ "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" }
重點幾個關注下即可:
– name : 預設啟動的時候指定了 ES 例項名稱,name 為 BYSocketdeMacBook-Pro-2.local
– cluster_name : 預設名為 elasticsearch
– version :版本資訊
同樣透過 _cat/nodes?v 地址,可以看到當前節點資訊,如下:
127.0.0.1 30 100 22 2.87 mdi * BYSocketdeMacBook-Pro-2.local
2.4 單機叢集多個 ES 例項安裝
單機多個 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
簡單解釋如下:
node.name : ES 節點名稱,即例項名
cluster.name : ES 叢集名稱
path.data : 指定了儲存文件資料目錄
執行完指令碼後,需要等一會 ES 啟動,也可以檢視 logs 看看執行情況。
開啟瀏覽器,輸入 _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 配置相關的最佳化即可。
原文地址:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2715374/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 安裝docker指導Docker
- elasticsearch 6.x 與elasticsearch 7.x 配置與使用(Java)ElasticsearchJava
- FreeSwitch+Opensips叢集 安裝配置操作指導
- ElasticSearch7使用指導Elasticsearch
- ElasticSearch安裝及java Api使用ElasticsearchJavaAPI
- Elasticsearch 7.x 之節點、叢集、分片及副本Elasticsearch
- Elasticsearch 的安裝和簡單配置Elasticsearch
- ElasticSearch 7.6.2 下載包 及 安裝Elasticsearch
- Elasticsearch 7.x:2、索引管理Elasticsearch索引
- Centos7下安裝配置elasticsearch 6.3.1CentOSElasticsearch
- yii 安裝及配置
- nginx安裝及配置Nginx
- helm安裝及配置
- mysql安裝及配置MySql
- node.js安裝Oracledb指導文件Node.jsOracle
- SecureCRT 7.0 安裝破解版指導Securecrt
- docker安裝elasticsearch及kibana部署、操作DockerElasticsearch
- Elasticsearch安裝Elasticsearch
- Elasticsearch 安裝Elasticsearch
- CentOS 7.x 安裝MySQL8.0CentOSMySql
- Centos 7安裝和配置 ElasticSearch入門小白CentOSElasticsearch
- docker安裝elasticsearch+kibana+密碼配置DockerElasticsearch密碼
- Jenkins安裝及配置Jenkins
- OpenStack Client 安裝及配置client
- jwt安裝失敗,求大佬指導下JWT
- CentOS 7 安裝、配置、使用 PostgreSQL 10 安裝及基礎配置CentOSSQL
- centos7 安裝 ElasticSearch 配置外網訪問CentOSElasticsearch
- Elasticsearch 在Linux下的安裝部署和配置ElasticsearchLinux
- Centos 7.x 線上安裝 KubernetesCentOS
- ElasticSearch安裝教程Elasticsearch
- ubuntu 安裝 ElasticSearchUbuntuElasticsearch
- Elasticsearch安裝文件Elasticsearch
- ElasticSearch 安裝教程Elasticsearch
- mac安裝ElasticsearchMacElasticsearch
- docker安裝elasticsearchDockerElasticsearch
- Linux下安裝java及配置(yum安裝)LinuxJava
- ubuntu系統nvidia-docker安裝指導UbuntuDocker
- Windows下ElasticSearch的Head安裝及基本使用WindowsElasticsearch