官網 https://www.elastic.co/cn/downloads/
本文全部使用的是7.3.2版本, 如果你看到最新版本不是這個,請下載下傳的時候 三大件一定要使用相同的版本号!.
一 Elasticsearch安裝
1 準備條件
-
Elasticsearch7.3.2
官網位址 https://www.elastic.co/cn/downloads/elasticsearch
我知道你下載下傳的很慢, 我在附件中提供了一個快速的下載下傳方案
https://download.csdn.net/download/liutietuo/12115468
-
jdk1.8
https://www.oracle.com
jdk自行下載下傳并配置好path。
2 叢集配置
複制幾分Elasticsearch變成這樣 并修改名稱
修改master節點配置
在master/config/elasticsearch.yml檔案最後添加如下配置代碼
#跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
#設定叢集名稱
cluster.name: elastic
#設定節點名稱
node.name: master
#設定此節點是master節點
node.master: true
#設定往外暴露ip,因為此時在windows下,是以直接暴露本地
network.host: 127.0.0.1
#配置資料存儲位址,我這裡沒有配置使用預設位址
#path.data=""
#配置日志存儲位址
#path.log=""
#xpack是個收費插件,功能強大.可自行百度
xpack.ml.enabled: false
node0配置
在node0/config/elasticsearch.yml檔案下添加如下配置
#叢集名稱,隻要是一個叢集就要一樣的名稱
cluster.name: elastic
#節點名稱
node.name: slave0
#對外暴露端口号
http.port: 8200
#對外暴露ip
network.host: 127.0.0.1
#發現叢集節點,預設端口号是9200
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
node1配置
在node1/config/elasticsearch.yml檔案下添加如下配置
#叢集名稱,隻要是一個叢集就要一樣的名稱
cluster.name: elastic
#節點名稱
node.name: slave1
#對外暴露端口号
http.port: 8201
#對外暴露ip
network.host: 127.0.0.1
#發現叢集節點,預設端口号是9200
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
其他node以此類推, 主要裡面的端口号和節點名稱
3 啟動節點
啟動master
使用elasticsearch.bat啟動
然後去分别去不同的node目錄下啟動node
如果遇到[slave1] failed to join {master}{kdU4oPaJTbOQ_VCXegbRgA}{aDYkxo9sTZCiOQdG0Bhv7A}{127.0.0.1}{127.0.0.1:9300}{dim}{xpack.installed=true} with JoinRequest{sourceNode={slave1}{WMZMwojZS_Wjks0bhcwMxw}{hvVWlj8dQ7KcApfiZNTEyw}{127.0.0.1}{127.0.0.1:9302}{dim}{xpack.installed=true}, optionalJoin=Optional[Join{term=3, lastAcceptedTerm=1, lastAcceptedVersion=23, sourceNode={slave1}{WMZMwojZS_Wjks0bhcwMxw}{hvVWlj8dQ7KcApfiZNTEyw}{127.0.0.1}{127.0.0.1:9302}{dim}{xpack.installed=true}, targetNode={master}{kdU4oPaJTbOQ_VCXegbRgA}{aDYkxo9sTZCiOQdG0Bhv7A}{127.0.0.1}{127.0.0.1:9300}{dim}{xpack.installed=true}}]}
如果遇到 [slave1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: BindHttpException[Failed to bind to [8200]]; nested: BindException[Address already in use: bind];
注意我上面的配置,端口和nodename要不同!!!!
.
應該是你的節點是後加入的,資料不同步, 建議同步資料或清空資料再開啟
4 測試通路
http://localhost:9200/
表示資料正常
5 注冊節點服務
如果節點啟動都正常
bat指令啟動當然很費神
進入bin目錄
運作 elasticsearch-service.bat install
接着繼續運作elasticsearch-service.bat manager
設定自動啟動即可
6 節點管理插件
elasticsearch-head-master
下載下傳位址https://github.com/mobz/elasticsearch-head .當然我的附件中已經包含了
https://download.csdn.net/download/liutietuo/12115468
解壓後打開裡面的index.html就可以快速的管理節點 當然 如果你電腦裝了node的話 ,也可以編譯項目npm install 并運作 npm run start 因為node的操作和本文無關,不多做介紹
記得這裡要建立一個索引
Master和Slave的差別:
Master的職責:
統計各node節點狀态資訊、叢集狀态資訊統計、索引的建立和删除、索引配置設定的管理、關閉node節點等
Savle的職責:
同步資料、等待機會成為Master
如果節點多,電腦記憶體不足的話 無法啟動的話就進入config/jvm.options檔案下
-Xms1g
-Xmx1g
改成
-Xms256m
-Xmx256m
7 資料測試
testindex/test
{"name":"t","age":66}
之後回到資料浏覽
表示資料正常
至此 E就搭建完成
二 Logstash配置
1 準備條件
logstash7.3.2
下載下傳位址:https://www.elastic.co/cn/downloads/logstash
我的附件中均包含了下載下傳位址
https://download.csdn.net/download/liutietuo/12115468
配置config
複制一份logstash-sample.conf 改名為logstash.conf
啟動
logstash.bat -f ../config/logstash.conf
運作成功
說明
/logstash/config/logstash.yml:主要用于控制logstash運作時的狀态
/logstash/config/startup.options:logstash 運作相關參數
配置參數說明
logstash.yml
參數 | 用途 | 預設值 |
---|---|---|
| 節點名稱 | 主機名稱 |
| /資料存儲路徑 | LOGSTASH_HOME/data/ |
| 輸出通道的工作workers資料量(提升輸出效率) | cpu核數 |
| 每個輸出插件的工作wokers數量 | 1 |
| 每次input數量 | 125 |
| 過濾配置檔案目錄 | |
| 自動重新加載被修改配置 | or |
| 配置檔案檢查時間 | |
| 日志輸出路徑 | |
| 綁定主機位址,使用者名額收集 | “127.0.0.1” |
| 綁定端口 | 5000-9700 |
| 日志輸出級别,如果config.debug開啟,這裡一定要是debug日志 | info |
| 日志格式 | * plain* |
| 自定義插件目錄 |
startup.options
參數 | 用途 |
---|---|
=/usr/bin/java | 本地jdk |
=/opt/logstash | logstash所在目錄 |
="${LS_HOME}/config" | 預設logstash配置檔案目錄 |
="–path.settings ${LS_SETTINGS_DIR}" | logstash啟動指令參數 指定配置檔案目錄 |
="" | 指定jdk目錄 |
=/var/run/logstash.pid | logstash.pid所在目錄 |
=logstash | logstash啟動使用者 |
=logstash | logstash啟動組 |
=/var/log/logstash/gc.log | logstash jvm gc日志路徑 |
=65534 | logstash最多打開監控檔案數量 |
三 kibana配置
config/kibana.yml
末尾加入一行
server.port: 5601 #本機的端口
運作kibana
表示啟動成功
測試
我們通路
http://localhost:5601/
加入一組測試資料 (測試可以加入.後期要可以删除.如果熟悉的話,最好不要加入測試資料)
就此所有功能配置完畢
工作原理