簡記:elasticsearch在window10上搭建3個節點的集羣,便於測試和學習es相關知識。當然有liunx環境安裝更快更簡單。
一、安裝ES,需要兩個包,es安裝包和es-head管理包和依賴
下載es包:(測試最新版本 Version:7.5.1)
https://www.elastic.co/cn/downloads/elasticsearch
下載es-head包:
https://nodejs.org/en/download/ #注意64位和32位操作系統選擇
二、配置與啓動
1 下載安裝到對應的目錄解壓(注意創建3個node節點的文件夾,然後把安裝包copy進文件夾解壓)
2 配置文件elasticsearch.yml,分爲node1,node2,node3
2.1 node1在配置文件裏添加如下內容
cluster.name: elastic #三個節點名字必須一樣
node.name: node-1 #三個節點名字不一樣
node.master: true
network.host: 127.0.0.1 #3個節點一樣
http.port: 9200 #3個節點不一樣(如果在一臺機器上部署)
transport.tcp.port: 9300 #3個節點不一樣
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9301","127.0.0.1:9302"] #每個節點添加其他兩個節點的配置信息
http.cors.enabled: true #es-head 需要用,
http.cors.allow-origin: "*"
2.2 安裝JDK,安裝jdk 8
參考
2.3 安裝安裝node.js環境,es-head需要
2.4安裝 npm,es-head需要該環境
3 啓動環境
3.1 (三個節點依次操作)可進入目錄雙擊(如圖一)or powershell中執行腳本(推薦用該法,可以看到啓動日誌方便排查)如圖二
3.2 啓動es-head
進入es-head解壓目錄中,執行 grunt server
3.3 測試啓動成功與否
三:集羣搭建遇到問題:
問題:3個節點加入集羣時遇到問題,es-head中只能看到一個node節點的信息,其他兩個節點啓動正常但是es-head中不展示,用es-head 切換其他兩個端口時都能鏈接(如http://localhost:9201/ or http://localhost:9201/)但是都顯示一個節點。
排查:1 用powershell 開啓es個節點觀察啓動日誌是否有報錯,發現後啓動的兩個es的節點 node ID [Tdv4ytgFTsGQrf8iFJhqbA]有衝突,每個id是唯一的。
2 爲什麼會衝突呢?
是因爲把es解壓後的文件複製了兩份(修改配置)做nod2和node3
3 解決問題,刪掉node2和node3 ,在node2和node3的文件夾中解壓es安裝文件,啓動成功!