Widows 環境下安裝 ElasticSearch 並配置 ElasticSearch Head 插件

環境準備

  • JDK 1.8 以上
  • ElasticSearch 7.0 以上

ElasticSearch 安裝包下載地址:https://www.elastic.co/cn/downloads/elasticsearch
ES 下載地址

ElasticSearch 單機安裝

ElasticSearch 安裝包下載完成後,進行解壓,然後在進入文件夾,找到 bin 目錄下 elasticsearch.bat 文件,雙擊啓動。

啓動完成後,在瀏覽器中訪問 http://localhost:9200/ 地址,出現下面的內容,則表示成功。

ES 成功安裝信息

配置 ElasticSearch Head

ElasticSearch Head 是 ElasticSearch 的一個可視化界面工具。

下載與配置詳情見 Gituhb 地址:https://github.com/mobz/elasticsearch-head

這裏我推薦 Running as a Chrome extension,配置比較方便且不用下載壓縮包。
chrome  extension

注意,因爲 ElasticSearch Head 和 ElasticSearch 是兩個獨立的工具,它們之間的訪問是有跨域問題的,所以不管使用哪種方式配置 ElasticSearch Head,都要在 ElasticSearch 配置文件 elasticsearch.yml 末尾添加如下代碼,以解決跨域問題:

http.cors.enabled: true 
http.cors.allow-origin: "*"

可以放開 cluster.namenode.namehttp.port 的註釋,自定義 ElasticSearch 信息,保存後重啓 ElasticSearch。

最後,打開 ElasticSearch Head,連接 ElasticSearch,如圖:
ElasticSearch Head

ElasticSearch 分佈式安裝

首先,將 ElasticSearch 解壓後的文件複製兩份,並且確保兩份文件是完全乾淨的,沒有做過任何更改。不然,搭建完成後,會出現莫名的異常。

主節點配置

選擇一個 ElasticSearch 文件作爲主節點(Master),打開配置文件 elasticsearch.yml,做如下更改。

# 集羣名字
cluster.name: es
# 節點名稱
node.name: master
node.master: true
# 網絡綁定
network.host: 127.0.0.1
# 設置對外服務的http端口,默認爲9200
http.port: 9200

# 手動指定可以成爲 mater 的所有節點的 name 或者 ip
cluster.initial_master_nodes: ["127.0.0.1"]

# 跨域
http.cors.enabled: true 
http.cors.allow-origin: "*"

保存配置文件,並啓動主節點。

從節點配置

將剩下的兩個文件作爲 ElasticSearch 集羣的從節點(Slave),我這裏分別命名爲 node-1 和 node-2。

從節點的配置基本相同,只是節點名稱和端口需要修改。這裏以 node-1 的配置爲例,打開配置文件 elasticsearch.yml,做如下更改。

# 集羣名稱,處於同一個集羣所有節點,該名稱必須相同
cluster.name: es
 
# 節點名稱
node.name: node-1
# 是否可以成爲master節點
node.master: false
# 是否允許該節點存儲數據,默認開啓
node.data: true
 
# 網絡綁定,這裏我綁定 0.0.0.0,支持外網訪問
network.host: 127.0.0.1
http.port: 8200
 
# 支持跨域訪問
http.cors.enabled: true
http.cors.allow-origin: "*"
 
# 集羣發現,指定 master 節點的 ip 地址
discovery.seed_hosts: ["127.0.0.1"]

配置完成後,啓動各節點,使用 ElasticSearch Head 工具查看集羣信息,出現如圖內容,說明集羣搭建成功。
elasticsearch 集羣

最後

之前查閱 ElasticSearch 集羣搭建的相關文章的時候,有些文章提到了這個配置:

discovery.zen.ping.unicast.hosts: ["127.0.0.1"]

但是這裏沒有使用,後面我通過查閱 ES 7.0.0 的官方文檔: https://www.elastic.co/guide/en/elasticsearch/reference/current/discovery-settings.html

文檔內容如下:
集羣發現
意思是,集羣發現(Discovery)有關的配置主要使用 discovery.seed_hostscluster.initial_master_nodes 完成。

discovery.zen.ping.unicast.hosts 可能是 ElaticSearch 低版本中使用。

參考

ElaticSearch 官方文檔:https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html

ElaticSearch 集羣搭建及參數詳解: https://www.jianshu.com/p/149a8da90bbc

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