Centos 7.6部署elasticsearch集羣

一、Elasticsearch集羣介紹

1、Elasticsearch集羣節點
候選主節點(Master-eligible node):一個節點啓動後,就會使用Zen Discovery機制去尋找集羣中的其他節點,並與之建立連接。集羣中會從候選主節點中選舉出一個主節點,主節點負責創建索引、刪除索引、分配分片、追蹤集羣中的節點狀態等工作。Elasticsearch中的主節點的工作量相對較輕,用戶的請求可以發往任何一個節點,由該節點負責分發和返回結果,而不需要經過主節點轉發。
數據節點(Data node):數據節點負責數據的存儲和相關具體操作,比如CRUD、搜索、聚合。所以,數據節點對機器配置要求比較高,首先需要有足夠的磁盤空間來存儲數據,其次數據操作對系統CPU、Memory和IO的性能消耗都很大。通常隨着集羣的擴大,需要增加更多的數據節點來提高可用性。
客戶端節點(Client node):客戶端節點就是既不做候選主節點也不做數據節點的節點,只負責請求的分發、彙總等等,也就是下面要說到的協調節點的角色。這樣的工作,其實任何一個節點都可以完成,單獨增加這樣的節點更多是爲了負載均衡。
協調節點(Coordinating node):協調節點,是一種角色,而不是真實的Elasticsearch的節點,你沒有辦法通過配置項來配置哪個節點爲協調節點。集羣中的任何節點,都可以充當協調節點的角色。當一個節點A收到用戶的查詢請求後,會把查詢子句分發到其它的節點,然後合併各個節點返回的查詢結果,最後返回一個完整的數據集給用戶。在這個過程中,節點A扮演的就是協調節點的角色。毫無疑問,協調節點會對CPU、Memory要求比較高。
2、部署方案
默認情況下節點既可以做候選主節點也可以做數據節點,所以我們使用兩臺機器分別部署master+data節點。
Centos 7.6部署elasticsearch集羣
3、系統環境

主機名 IP地址 操作系統
node1 192.168.2.211 Centos 7.6 64位
node2 192.168.2.212 Centos 7.6 64位

二、部署前的準備工作

1、關閉 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

三、部署elasticsearch集羣

1、修改elasticsearch配置
vim /data/elasticsearch/config/elasticsearch.yml

cluster.name: cluster-test   #集羣名稱,每個節點集羣名稱一樣
node.name: test-1    #節點名稱,每個節點設置唯一的名稱
path.data: /data/elasticsearch/data   #數據存儲路徑
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"]   #節點列表
discovery.zen.minimum_master_nodes: 2   #候選主節點數量
gateway.recover_after_nodes: 1   #集羣中只要有1個節點就正常工作

2、創建啓動用戶

useradd els -p 123456
chown -R els:els /data/elasticsearch

3、修改limit數量,需要重新登陸系統生效
vim /etc/security/limits.conf #添加以下內容

* soft nofile 65536
* hard nofile 65536

4、修改內核參數vm.max_map_count
vim /etc/sysctl.conf #添加以下內容

vm.max_map_count=262144
sysctl -p

5、切換到els用戶,啓動elasticsearch

su - els
/data/elasticsearch/bin/elasticsearch -d

6、查看集羣狀態
查看集羣節點狀態

curl http://192.168.2.211:9200/_cat/nodes?pretty

Centos 7.6部署elasticsearch集羣
查看集羣狀態

curl http://192.168.2.211:9200/_cluster/state?pretty

Centos 7.6部署elasticsearch集羣

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