Centos7 单台服务器搭建Elasticsearch6.0.1集群
文章目錄
一.環境規劃
二.環境搭建
1.創建用戶及目錄
2.修改配置文件
三.啟動和停止服務腳本
四.使用elasticsearch-head 插件查看集群狀態
1.安裝nodejs
2.拉取elasticsearch-head.git 庫
五.啟動錯誤處理:
一.環境規劃
服務器IP?? ?服務端口?? ?群服務端口?? ?是否可以為主節點?? ?是否可以為數據存儲節點
192.168.100.97?? ?9201?? ?9301?? ?True?? ?True
192.168.100.97?? ?9202?? ?9302?? ?True?? ?True
192.168.100.97?? ?9203?? ?9303?? ?True?? ?True
二.環境搭建
1.創建用戶及目錄
# 創建用戶
useradd -d /home/elasticsearch es
# 切換用戶
su - es
# 下載elasticsearch6.0.1版本并解壓縮
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.1.tar.gz?
tar -zxvf elasticsearch-6.0.1.tar.gz
# 復制三份,命名為elasticsearch-1、elasticsearch-2、elasticsearch-3、
cp -rp elasticsearch-6.0.1 elasticsearch-1
cp -rp elasticsearch-6.0.1 elasticsearch-2
cp -rp elasticsearch-6.0.1 elasticsearch-3
# 刪除多余的包和文件
rm -rf elasticsearch-6.0.1.tar.gz
rm -rf elasticsearch-6.0.1
# 創建data和log目錄分別用于放置數據和日志
mkdir -p /home/elasticsearch/data/node{1,2,3}
mkdir -p /home/elasticsearch/log/node{1,2,3}
# 創建pidfile存放的路徑
mkdir -p /home/elasticsearch/pidfile/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2.修改配置文件
# 配置文件的修改以node1的為例,另外兩個只需要修改相應的路徑和端口即可。
vim /home/elasticsearch/elasticsearch-1/config/elasticsearch.yml
1
2
#集群的名稱
cluster.name: hao-es
#節點名稱,其余兩個節點分別為node-2 和node-3
node.name: node-1
#指定該節點是否有資格被選舉成為master節點,默認是true,es是默認集群中的第一臺機器為master,如果這臺機掛了就會重新選舉master
node.master: true
#允許該節點存儲數據(默認開啟)
node.data: true
#索引數據的存儲路徑
path.data: /home/elasticsearch/data/node1
#日志文件的存儲路徑
path.logs: /home/elasticsearch/log/node1
#設置為true來鎖住內存。因為內存交換到磁盤對服務器性能來說是致命的,當jvm開始swapping時es的效率會降低,所以要保證它不swap
bootstrap.memory_lock: true
#綁定的ip地址
network.host: 192.168.100.97
#設置對外服務的http端口,默認為9200
http.port: 9201
# 設置節點間交互的tcp端口,默認是9300?
transport.tcp.port: 9301
#Elasticsearch將綁定到可用的環回地址,并將掃描端口9300到9305以嘗試連接到運行在同一臺服務器上的其他節點。
#這提供了自動集群體驗,而無需進行任何配置。數組設置或逗號分隔的設置。每個值的形式應該是host:port或host
#(如果沒有設置,port默認設置會transport.profiles.default.port 回落到transport.tcp.port)。
#請注意,IPv6主機必須放在括號內。默認為127.0.0.1, [::1]
discovery.zen.ping.unicast.hosts: ["192.168.100.97:9301", "192.168.100.97:9302", "192.168.100.97:9303"]
#如果沒有這種設置,遭受網絡故障的集群就有可能將集群分成兩個獨立的集群 - 分裂的大腦 - 這將導致數據丟失
discovery.zen.minimum_master_nodes: 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 配置文件的修改以node1的為例,另外兩個節點一致。
vim /home/elasticsearch/elasticsearch-1/config/jvm.options
1
2
#默認是1g官方建議對jvm進行一些修改,不然很容易出現OOM,參考官網改參數配置最好不要超過內存的50%?
# 我的服務器是虛擬機所以設置的堆棧內存為256m
-Xms256m
-Xmx256m
1
2
3
4
三.啟動和停止服務腳本
vim start.sh
#內容如下,其中-d表示后臺運行,-p指定進城pidfile文件的存放路徑:
/home/elasticsearch/elasticsearch-1/bin/elasticsearch -d -p /home/elasticsearch/pidfile/node1
/home/elasticsearch/elasticsearch-2/bin/elasticsearch -d -p /home/elasticsearch/pidfile/node2
/home/elasticsearch/elasticsearch-3/bin/elasticsearch -d -p /home/elasticsearch/pidfile/node3
vim stop.sh
# 內容如下:
ps aux | grep elasticsearch | grep -v grep | awk '{print $2}' | xargs kill -9
# 授權sh腳本
chmod 755 start.sh stop.sh
# 啟動?
./start.sh
# 查看日志,服務啟動是否報錯
tail -f hao-es.log?
# 調用api查看節點狀態
curl -XGET 'http://192.168.100.97:9201/_cat/nodes?pretty'
# 結果如下,其中* 表示該節點為主節點:
192.168.100.97 27 84 0 0.01 0.02 0.05 mdi - node-3
192.168.100.97 46 84 0 0.01 0.02 0.05 mdi * node-2
192.168.100.97 38 84 0 0.01 0.02 0.05 mdi - node-1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
四.使用elasticsearch-head 插件查看集群狀態
該插件使用了nodejs,因此需要安裝nodejs服務。
1.安裝nodejs
mkdir -p /home/nodejs
cd /home/nodejs
wget https://nodejs.org/dist/v10.15.1/node-v10.15.1-linux-x64.tar.xz
tar -xvf node-v10.15.1-linux-x64.tar.xz
cd node-v10.15.1-linux-x64/bin
# 查看二進制文件是否ok
./node -v?
# 將nodejs添加到環境變量
vim /etc/profile
export NODEJS_HOME=/home/nodejs/node-v10.15.1-linux-x64
export PATH=$NODEJS_HOME/bin:$PATH
source /etc/profile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2.拉取elasticsearch-head.git 庫
cd /home/elasticsearch
# 如果沒有git,請自行安裝~
git clone https://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head/
npm install
# 如果遇到phantomjs-prebuilt@2.1.16報錯,請忽略掉
npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
# 啟動服務默認的地址是localhost:9100
npm run start?
1
2
3
4
5
6
7
8
9
10
11
五.啟動錯誤處理:
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
1.max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
修改/etc[表情]curity[表情]mits.conf文件,添加或修改如下行:
* ? ? ? ?hard ? ?nofile ? ? ? ? ? 65536
* ? ? ? ?soft ? ?nofile ? ? ? ? ? 65536
1
2
2.max virtual memory areas vm.max…
修改 /etc/sysctl.conf 文件,添加如下行:
vm.max_map_count=262144
1
參考:https://blog.csdn.net/qq_34021712/article/details/79330028
————————————————
版權聲明:本文為CSDN博主「愛吃西瓜大人」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/paopaohll/article/details/86700464
總結
以上是生活随笔為你收集整理的Centos7 单台服务器搭建Elasticsearch6.0.1集群的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地暖机是什么?为什么现在这么多人买啊?
- 下一篇: 家里想要买地暖机,地暖机制热快吗?