1、Elasticsearch集群節(jié)點(diǎn)
候選主節(jié)點(diǎn)(Master-eligible node):一個(gè)節(jié)點(diǎn)啟動(dòng)后,就會(huì)使用Zen Discovery機(jī)制去尋找集群中的其他節(jié)點(diǎn),并與之建立連接。集群中會(huì)從候選主節(jié)點(diǎn)中選舉出一個(gè)主節(jié)點(diǎn),主節(jié)點(diǎn)負(fù)責(zé)創(chuàng)建索引、刪除索引、分配分片、追蹤集群中的節(jié)點(diǎn)狀態(tài)等工作。Elasticsearch中的主節(jié)點(diǎn)的工作量相對(duì)較輕,用戶的請(qǐng)求可以發(fā)往任何一個(gè)節(jié)點(diǎn),由該節(jié)點(diǎn)負(fù)責(zé)分發(fā)和返回結(jié)果,而不需要經(jīng)過(guò)主節(jié)點(diǎn)轉(zhuǎn)發(fā)。
數(shù)據(jù)節(jié)點(diǎn)(Data node):數(shù)據(jù)節(jié)點(diǎn)負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和相關(guān)具體操作,比如CRUD、搜索、聚合。所以,數(shù)據(jù)節(jié)點(diǎn)對(duì)機(jī)器配置要求比較高,首先需要有足夠的磁盤空間來(lái)存儲(chǔ)數(shù)據(jù),其次數(shù)據(jù)操作對(duì)系統(tǒng)CPU、Memory和IO的性能消耗都很大。通常隨著集群的擴(kuò)大,需要增加更多的數(shù)據(jù)節(jié)點(diǎn)來(lái)提高可用性。
客戶端節(jié)點(diǎn)(Client node):客戶端節(jié)點(diǎn)就是既不做候選主節(jié)點(diǎn)也不做數(shù)據(jù)節(jié)點(diǎn)的節(jié)點(diǎn),只負(fù)責(zé)請(qǐng)求的分發(fā)、匯總等等,也就是下面要說(shuō)到的協(xié)調(diào)節(jié)點(diǎn)的角色。這樣的工作,其實(shí)任何一個(gè)節(jié)點(diǎn)都可以完成,單獨(dú)增加這樣的節(jié)點(diǎn)更多是為了負(fù)載均衡。
協(xié)調(diào)節(jié)點(diǎn)(Coordinating node):協(xié)調(diào)節(jié)點(diǎn),是一種角色,而不是真實(shí)的Elasticsearch的節(jié)點(diǎn),你沒(méi)有辦法通過(guò)配置項(xiàng)來(lái)配置哪個(gè)節(jié)點(diǎn)為協(xié)調(diào)節(jié)點(diǎn)。集群中的任何節(jié)點(diǎn),都可以充當(dāng)協(xié)調(diào)節(jié)點(diǎn)的角色。當(dāng)一個(gè)節(jié)點(diǎn)A收到用戶的查詢請(qǐng)求后,會(huì)把查詢子句分發(fā)到其它的節(jié)點(diǎn),然后合并各個(gè)節(jié)點(diǎn)返回的查詢結(jié)果,最后返回一個(gè)完整的數(shù)據(jù)集給用戶。在這個(gè)過(guò)程中,節(jié)點(diǎn)A扮演的就是協(xié)調(diào)節(jié)點(diǎn)的角色。毫無(wú)疑問(wèn),協(xié)調(diào)節(jié)點(diǎn)會(huì)對(duì)CPU、Memory要求比較高。
2、部署方案
默認(rèn)情況下節(jié)點(diǎn)既可以做候選主節(jié)點(diǎn)也可以做數(shù)據(jù)節(jié)點(diǎn),所以我們使用兩臺(tái)機(jī)器分別部署master+data節(jié)點(diǎn)。
3、系統(tǒng)環(huán)境
主機(jī)名 | IP地址 | 操作系統(tǒng) |
---|---|---|
node1 | 192.168.2.211 | Centos 7.6 64位 |
node2 | 192.168.2.212 | Centos 7.6 64位 |
1、關(guān)閉 selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
sed -i 's/SELINUXTYPE=targeted/#&/' /etc/selinux/config
setenforce 0
2、安裝需要用的工具
yum -y install vim wget java
3、下載elasticsearch并解壓
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz
mkdir /data
tar zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz -C /data/
mv /data/elasticsearch-6.6.2 /data/elasticsearch
4、防火墻開放以下端口
firewall-cmd --permanent --add-port=9200/tcp
firewall-cmd --permanent --add-port=9300/tcp
firewall-cmd --reload
1、修改elasticsearch配置vim /data/elasticsearch/config/elasticsearch.yml
cluster.name: cluster-test #集群名稱,每個(gè)節(jié)點(diǎn)集群名稱一樣
node.name: test-1 #節(jié)點(diǎn)名稱,每個(gè)節(jié)點(diǎn)設(shè)置唯一的名稱
path.data: /data/elasticsearch/data #數(shù)據(jù)存儲(chǔ)路徑
path.logs: /data/elasticsearch/logs #日志文件存放路徑
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.2.211", "192.168.2.212"] #節(jié)點(diǎn)列表
discovery.zen.minimum_master_nodes: 2 #候選主節(jié)點(diǎn)數(shù)量
gateway.recover_after_nodes: 1 #集群中只要有1個(gè)節(jié)點(diǎn)就正常工作
2、創(chuàng)建啟動(dòng)用戶
useradd els -p 123456
chown -R els:els /data/elasticsearch
3、修改limit數(shù)量,需要重新登陸系統(tǒng)生效vim /etc/security/limits.conf #添加以下內(nèi)容
* soft nofile 65536
* hard nofile 65536
4、修改內(nèi)核參數(shù)vm.max_map_countvim /etc/sysctl.conf #添加以下內(nèi)容
vm.max_map_count=262144
sysctl -p
5、切換到els用戶,啟動(dòng)elasticsearch
su - els
/data/elasticsearch/bin/elasticsearch -d
6、查看集群狀態(tài)
查看集群節(jié)點(diǎn)狀態(tài)
curl http://192.168.2.211:9200/_cat/nodes?pretty
查看集群狀態(tài)
curl http://192.168.2.211:9200/_cluster/state?pretty
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。