CentOS7搭建Elasticsearch集羣

ip hostname jdk ES
10.180.249.245 manager.rancher jdk-8u121-linux-x64 6.6.2
10.180.249.246 master.rancher jdk-8u121-linux-x64 6.6.2
10.180.249.247 worker.rancher jdk-8u121-linux-x64 6.6.2

1.安裝jdk

集羣三個節點都需要安裝jdk
tar -zxvf jdk-8u121-linux-x64.tar.gz -C /opt/

vim /etc/profile
JAVA_HOME=/opt/jdk1.8.0_121
PATH=$PATH:$JAVA_HOME/bin
source /etc/profile

java -version

2.部署ES集羣

在集羣manager.rancher節點執行操作

2.1 創建用戶

useradd elasticsearch

2.2 安裝ES

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz
tar -zxvf elasticsearch-6.6.2.tar.gz -C /opt/

2.3 修改配置文件elasticsearch.yml

cd /opt/elasticsearch-6.6.2/config
cp elasticsearch.yml elasticsearch.yml.bak
vim elasticsearch.yml

cluster.name: escluster		# 集羣名字,三臺集羣的集羣名字都必須一致
node.name: manager.rancher	# 節點名字(使用hostname),三臺ES節點字都必須不一樣
node.master: true	# 該節點是否有資格選舉爲master,如果上面設了兩個mater_node 2,也就是最少兩個master節點,則集羣中必須有兩臺es服務器的配置爲node.master: true的配置,配置了2個節點的話,如果主服務器宕機,整個集羣會不可用,所以三臺服務器,需要配置3個node.masdter爲true,這樣三個master,宕了一個主節點的話,他又會選舉新的master,還有兩個節點可以用,只要配了node master爲true的ES服務器數正在運行的數量不少於master_node的配置數,則整個集羣繼續可用,我這裏則配置三臺es node.master都爲true,也就是三個master,master服務器主要管理集羣狀態,負責元數據處理,比如索引增加刪除分片分配等,數據存儲和查詢都不會走主節點,壓力較小,jvm內存可分配較低一點
node.data: true		# 存儲索引數據,三臺都設爲true即可
path.data: /opt/elasticsearch-6.6.2/data
path.logs: /opt/elasticsearch-6.6.2/logs
bootstrap.memory_lock: true		# 鎖住物理內存,不使用swap內存,有swap內存的可以開啓此項
bootstrap.system_call_filter: false
http.port: 9200
network.host: 0.0.0.0
discovery.zen.minimum_master_nodes: 2	# 表示集羣最少的master數,如果集羣的最少master數據少於指定的數,將無法啓動,官方推薦node master數設置爲集羣數/2+1,我這裏三臺ES服務器,配置最少需要兩臺master,整個集羣纔可正常運行,
discovery.zen.ping_timeout: 3s		# 自動發現ping其他節點超時時間
discovery.zen.ping.unicast.hosts: ["10.180.249.245:9300","10.180.249.246:9300","10.180.249.247:9300"]	# 設置集羣的初始節點列表,集羣互通端口爲9300

vim jvm.options
-Xms1g 修改爲 ===> -Xms2g
-Xmx1g 修改爲 ===> -Xmx2g
設置爲物理內存一半最佳,可根據服務器內存去選擇調

2.4 集羣配置

從manager.rancher節點發送到master.rancher、worker.rancher節點

cd /opt
scp -r elasticsearch-6.6.2 master.rancher:$PWD
scp -r elasticsearch-6.6.2 worker.rancher:$PWD

修改對應節點的配置文件
vim /opt/elasticsearch-6.6.2/config/elasticsearch.yml
node.name: master.rancher # 節點名字(使用hostname),三臺ES節點字都必須不一樣
node.name: worker.rancher # 節點名字(使用hostname),三臺ES節點字都必須不一樣

3.設置權限

集羣三個節點都執行相同操作

chown -R elasticsearch:elasticsearch /opt/elasticsearch-6.6.2/

4.操作系統配置

集羣三個節點都執行相同操作

vim /etc/sysctl.conf
fs.file-max=655360 # 系統最大打開文件描述符數
vm.max_map_count=655360 # 限制一個進程擁有虛擬內存區域的大小
vm.swappiness=0

保存後,執行
sysctl -p

vim /etc/security/limits.conf

* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited

vim /etc/security/limits.d/20-nproc.conf

*          soft    nproc     4096	    修改前
*          soft    nproc     65536      修改後

5.啓動

集羣三個節點都執行相同操作

cd /opt/elasticsearch-6.6.2/
su elasticsearch
bin/elasticsearch
bin/elasticsearch -d # 後臺啓動

6.檢查

6.1 查看節點狀態

http://10.180.249.245:9200
在這裏插入圖片描述

6.2 查看集羣信息

http://10.180.249.245:9200/_cluster/health?pretty
在這裏插入圖片描述

6.3 查看所有節點

http://10.180.249.245:9200/_cat/nodes?pretty
在這裏插入圖片描述
(mdi)表示爲master節點
(*)表示爲主master

6.4 查看集羣建康狀況

http://10.180.249.245:9200/_cat/health?pretty
在這裏插入圖片描述

6.5 查看主master機器

http://10.180.249.245:9200/_cat/master?pretty
在這裏插入圖片描述

7.安裝HEAD插件(manager.rancher)

rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-12.noarch.rpm
yum -y install nodejs npm git

cd /opt
git clone git://github.com/mobz/elasticsearch-head.git

npm config set registry https://registry.npm.taobao.org npm info underscore

cd /opt/elasticsearch-head/
npm install

cd /opt/elasticsearch-6.6.2/config/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: “*”

重啓ES(查找進程 - - kill - - 啓動)

啓動HEAD
cd /opt/elasticsearch-head
grunt server &

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