歡迎關注筆者的公衆號: 小哈學Java, 每日推送 Java 領域乾貨文章,關注即免費無套路附送 100G 海量學習、面試資源喲!!個人網站: https://www.exception.site/essay/elasticsearch-single-cluster-plugin-install
目錄
- 一、什麼是 Elasticsearch
- 二、Elasticsearch 下載&安裝
- 三、Elasticsearch 安裝&查看插件
- 四、Elasticsearch 本地集羣搭建
一、什麼是 Elasticsearch
Elasticsearch 是開源的分佈式全文搜索引擎,它底層基於 Apache Lucene,具備高伸縮、高可靠、易管理等特點。提供搜索、分析、數據存儲三大功能。特點包括分佈式、RESTFul 接口、索引自動分片、副本機制、多數據源以及搜索負載等等。
根據 DB-Engines 的排名顯示,Elasticsearch 是最受歡迎的企業搜索引擎,其次是Apache Solr,它也是基於Lucene。
今天,小哈就手摸手帶着大家學會 Elasticsearch 單機、集羣、插件安裝步驟,附有豐富的圖文哦~
二、Elasticsearch 下載&安裝
2.1 安裝 Java
在安裝 Elasticsearch 之前,您需安裝並配置好 JDK, 設置好環境變量 $JAVA_HOME
。
衆所周知,Elasticsearch 版本很多,不同的版本對 Java 的依賴也有所差別:
- Elasticsearch 5 需要 Java 8 以上版本;
- Elasticsearch 6.5 開始支持 Java 11;
- Elasticsearch 7.0 開始,內置了 Java 環境,所以說,安裝 7.0+ 版本會方便很多。
2.2 下載 Elasticsearch
訪問 Elasticsearch 官網 https://www.elastic.co/cn/downloads/elasticsearch 下載安裝包:
筆者這裏下載的是 MAC 系統 Elasticsearch V7.1.0 版本作爲演示。
2.3 解壓
下載成功後,解壓到指定目錄:
tar -zxvf elasticsearch-7.1.0-darwin-x86_64.tar.gz
進入解壓後的目錄,結構如下:
2.4 Elasticsearch 目錄、配置文件說明、注意點
這裏大概解答下各個目錄、配置文件的作用:
目錄 | 配置文件 | 描述 |
---|---|---|
bin | 放置腳本文件,如啓動腳本 elasticsearch, 插件安裝腳本等。 | |
config | elasticserch.yml | elasticsearch 配置文件,如集羣配置、jvm 配置等。 |
jdk | java 運行環境 | |
data | path.data | 數據持久化文件 |
lib | 依賴的相關類庫 | |
logs | path.log | 日誌文件 |
modules | 包含的所有 ES 模塊 | |
plugins | 包含的所有已安裝的插件 |
注意點:
- 有些童鞋的機器內存可能不夠,就需要修改 JVM 參數,配置文件路徑爲
config/jvm.options
,ES V7.1 版本默認爲1g
, 老版本爲2g
, 你可以自行修改。Xmx
和Xms
數值請設置相同;Xmx
不要超過機器內存的50%
;- 內存總量不要超過 30GB, 參見官方文檔 https://www.elastic.co/cn/blog/a-heap-of-trouble;
2.5 運行 Elasticsearch
執行啓動命令:
bin/elasticsearch
看到啓動日誌中有 started
關鍵字,就表示啓動成功了。
另外,我們還可以通過訪問 Elasticsearch 9200
端口來實際驗證一下:
curl localhost:9200
返回了 Elasticsearch 相關元數據,如版本信息 7.1.0
,就明確表示大工告成,可以好好地玩耍了。
之前,小哈還原創過一篇《Docker 快速安裝&搭建 Elasticsearch 環境》,其中包含如何通過 Docker 來安裝 Elasticsearch, 有興趣的小夥伴可以看下。
2.6 Elasticsearch 關閉
通過如下命令,找出正在運行的 ES 進程 PID:
ps -ef | grep elasticsearch
執行 kill 命令,即可關閉 Elasticsearch 進程:
kill pid
三、Elasticsearch 安裝&查看插件
3.1 查看已安裝的插件
在 Elasticsearch 解壓包的根目錄下,通過如下命令,可以查看當前已安裝的插件:
bin/elasticsearch-plugin list
這裏由於是第一次安裝 Elasticsearch,還沒有安裝任何插件,所以顯示的列表爲空。
3.2 安裝插件
安裝插件命令格式如下:
bin/elasticsearch-plugin install {插件名稱}
我們選擇國際化分詞插件 analysis-icu
, 嘗試去安裝它:
bin/elasticsearch-plugin install analysis-icu
可以看到插件安裝成功了。
細心的小夥伴可能看到,控制檯日誌中有警告⚠️信息,這個會有影響麼?答案是: 不影響!
小哈特意去 Elasticsearch GitHub issues 看了一下:
接下來,再通過 bin/elasticsearch-plugin list
命令就可以看到 analysis-icu
插件已經顯示在列表中了:
除了上面這種方式外,還可以通過如下接口來查看:
GET /_cat/plugins
如圖所示:
拓展:Elasticsearch 提供插件的機制,允許開發者對系統進行拓展。比如,通過插件的機制,來增加安全權限的管控,可參考開源的 ES 插件 Search Guard.
四、Elasticsearch 本地集羣搭建
我們將演示,如何在本機上搭建一個多節點的 Elasticsearch 集羣。
這個集羣中會有 4 個節點,分別是 node0
、node1
、node2
、node3
。
啓動命令如下:
bin/elasticsearch -E node.name=node0 -E cluster.name=xiaoha-cluster -E path.data=node0_data -d
bin/elasticsearch -E node.name=node1 -E cluster.name=xiaoha-cluster -E path.data=node1_data -d
bin/elasticsearch -E node.name=node2 -E cluster.name=xiaoha-cluster -E path.data=node2_data -d
bin/elasticsearch -E node.name=node3 -E cluster.name=xiaoha-cluster -E path.data=node3_data -d
小夥伴們可能會說:啓動命令後面的參數都是啥意思?
看圖:
啓動成功後,我們可以通過 /_cat/nodes API 來查看集羣節點信息:
GET /_cat/nodes
注意: 執行命令後,不要立即驗證節點是否啓動成功,因爲啓動成功需要花費一些時長,稍等片刻,就能看到被成功啓動的節點了。
接下來,通過 CURL 命令來查看一下節點信息:
curl localhost:9200/_cat/nodes
可以看到,一共 4 個節點,是 OK 的,另外,我們也可以通過 HEAD 插件來查看:
至此,一個 4 節點的 Elasticsearch 集羣的本地環境搭建完畢。
五、結語
本文中,小哈手摸手帶着大家學會了 Elasticsearch 單機、集羣、插件的安裝,希望小夥伴們看完後,有所收穫,下期見哦~
歡迎關注微信公衆號: 小哈學Java
關注筆者的微信公衆號: 小哈學Java, 每日第一時間推送乾貨文章, 另外, 筆者個人吐血整理了 100G 的學習資料, 關注回覆「666」即可免費無套路領取喲~