原創 | 手摸手帶您學會 Elasticsearch 單機、集羣、插件安裝(圖文教程)

歡迎關注筆者的公衆號: 小哈學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 個節點,分別是 node0node1node2node3

啓動命令如下:

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」即可免費無套路領取喲~

關注微信公衆號【小哈學Java】,回覆【資源】,即可免費無套路領取資源鏈接哦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章