工作緣故需要在測(cè)服搭建ES的集群環(huán)境
環(huán)境是? centos7
java 版本是? 1.8
資源有限的緣故舱污,決定在單機(jī)上搭建 3 個(gè)node 的集群
三個(gè)node?角色相同恋谭,因?yàn)楣?jié)點(diǎn)少于5個(gè)?不建議區(qū)分node角色 ,Elasticsearch的員工 Christian_Dahlqvist解讀如下:
一個(gè)節(jié)點(diǎn)的缺省配置是:主節(jié)點(diǎn)+數(shù)據(jù)節(jié)點(diǎn)兩屬性為一身漓踢。對(duì)于3-5個(gè)節(jié)點(diǎn)的小集群來(lái)講牵署,通常讓所有節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù)和具有獲得主節(jié)點(diǎn)的資格。你可以將任何請(qǐng)求發(fā)送給任何節(jié)點(diǎn)喧半,并且由于所有節(jié)點(diǎn)都具有集群狀態(tài)的副本奴迅,它們知道如何路由請(qǐng)求。
通常只有較大的集群才能開(kāi)始分離專(zhuān)用主節(jié)點(diǎn)挺据、數(shù)據(jù)節(jié)點(diǎn)半沽。 對(duì)于許多用戶(hù)場(chǎng)景,路由節(jié)點(diǎn)根本不一定是必需的吴菠。
專(zhuān)用協(xié)調(diào)節(jié)點(diǎn)(也稱(chēng)為client節(jié)點(diǎn)或路由節(jié)點(diǎn))從數(shù)據(jù)節(jié)點(diǎn)中消除了聚合/查詢(xún)的請(qǐng)求解析和最終階段者填,并允許他們專(zhuān)注于處理數(shù)據(jù)。
在多大程度上這對(duì)集群有好處將因情況而異做葵。 通常我會(huì)說(shuō)占哟,在查詢(xún)大量使用情況下路由節(jié)點(diǎn)更常見(jiàn)。
選擇比較老的版本?因?yàn)閟pringboot?的緣故
先配置第一個(gè)node
官網(wǎng)下載?所需版本?我這里是 2.4.0
tar -zxvf elasticsearch-2.4.0.tar.gz? //?解壓?到當(dāng)前目錄
mkdir /soft/elasticsearch-2.4.0? ? ?//創(chuàng)建安裝目錄
cp -r elasticsearch-2.4.0 /soft/elasticsearch-2.4.0/es-0? //?復(fù)制?node 0?目錄
到config 目錄修改配置文件
vim elasticsearch.yml? 配置的地方如下
??cluster.name: es-cluster
??node.name: node-0
??path.data: /soft/elasticsearch-2.4.0/data
??path.logs: /soft/elasticsearch-2.4.0/log
??network.host: 192.168.50.205
??http.port: 9200
??discovery.zen.ping.unicast.hosts: ["192.168.50.205:9300","192.168.50.205:9301","192.168.50.205:9302"]
??discovery.zen.minimum_master_nodes: 2
啟動(dòng)es
./bin/elasticsearch
啟動(dòng)日志
[developer@bogon bin]$ ./elasticsearch??????????????????????????
[2018-11-08 18:00:12,685][INFO ][node?????????????????????] [node-0] version[2.4.0], pid[31855], build[ce9f0c7/2016-08-29T09:14:17Z]
[2018-11-08 18:00:12,686][INFO ][node?????????????????????] [node-0] initializing ...
[2018-11-08 18:00:13,434][INFO ][plugins??????????????????] [node-0] modules [reindex, lang-expression, lang-groovy], plugins [head], sites [head]
[2018-11-08 18:00:13,460][INFO ][env??????????????????????] [node-0] using [1] data paths, mounts [[/ (rootfs)]], net usable_space [32.8gb], net total_space [49.9gb], spins? [unknown], types [rootfs]
[2018-11-08 18:00:13,460][INFO ][env??????????????????????] [node-0] heap size [1007.3mb], compressed ordinary object pointers [true]
[2018-11-08 18:00:13,460][WARN ][env??????????????????????] [node-0] max file descriptors [4096] for elasticsearch process likely too low, consider increasing to at least [65536]
[2018-11-08 18:00:16,346][INFO ][node?????????????????????] [node-0] initialized
[2018-11-08 18:00:16,346][INFO ][node?????????????????????] [node-0] starting ...
[2018-11-08 18:00:16,462][INFO ][transport????????????????] [node-0] publish_address {192.168.50.205:9300}, bound_addresses {192.168.50.205:9300}
[2018-11-08 18:00:16,469][INFO ][discovery????????????????] [node-0] es-weimall/FTmwPCAxSHmf_vlmnX22NQ
[2018-11-08 18:00:46,473][WARN ][discovery????????????????] [node-0] waited for 30s and no initial state was set by the discovery
[2018-11-08 18:00:46,484][INFO ][http?????????????????????] [node-0] publish_address {192.168.50.205:9200}, bound_addresses {192.168.50.205:9200}
[2018-11-08 18:00:46,485][INFO ][node?????????????????????] [node-0] started
測(cè)試是否安裝成功?
瀏覽器輸入地址和端口查看??http://192.168.50.205:9200/酿矢,如下代表成功
安裝其它幾個(gè)node
cp -r es-0 ./es-1
cp -r es-0 ./es-2
修改node 1配置文件?
node.name: node-1
http.port: 9201
transport.tcp.port: 9301
修改node 2 配置文件?
node.name: node-2
http.port: 9202
transport.tcp.port: 9302
后臺(tái)啟動(dòng)es
sh ./es-0/bin/elasticsearch -d
sh ./es-1/bin/elasticsearch -d
sh ./es-2/bin/elasticsearch -d
head?插件安裝
?./bin/plugin install mobz/elasticsearch-head
安裝完后需要 重啟es? ?地址欄訪問(wèn)??http://192.168.50.205:9200/_plugin/head/
安裝成功啦榨乎。
springboot?測(cè)試
配置如下
spring:
?? ?data:
?? ??? ?elasticsearch:
?? ??? ?# 集群名
?? ??? ??? ?cluster-name: es-weimall
?? ??? ??? ?# 連接節(jié)點(diǎn),注意在集群中通信都是9300端口,否則會(huì)報(bào)錯(cuò)無(wú)法連接上!
?? ??? ??? ?cluster-nodes: 192.168.50.205:9300,192.168.50.205:9301,192.168.50.205:9302
?? ??? ??? ?# 是否本地連接
?? ??? ??? ?repositories:
?? ??? ??? ??? ?# 倉(cāng)庫(kù)中數(shù)據(jù)存儲(chǔ)
?? ??? ??? ??? ?enabled:true
看到數(shù)據(jù)如下